MerchantServer.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 16/3/10
  6. * Time: 下午9:08
  7. */
  8. namespace fcgisrv;
  9. require_once(BASE_ROOT_PATH . '/helper/area_helper.php');
  10. require_once(BASE_CORE_PATH . '/framework/function/http.php');
  11. require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
  12. require_once(BASE_ROOT_PATH . '/helper/sensitive_word/dfa.php');
  13. require_once(BASE_ROOT_PATH . '/helper/exceptionex.php');
  14. require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
  15. require_once(BASE_HELPER_PATH . '/fcgisrv/BaseServer.php');
  16. require_once(BASE_HELPER_PATH . '/session.php');
  17. use DFAFilter;
  18. use area_helper;
  19. use Log;
  20. use session;
  21. use Base;
  22. use UnloginException;
  23. use Exception;
  24. use errcode;
  25. class MerchantServer extends BaseServer
  26. {
  27. static private $stInstance = NULL;
  28. static public function instance()
  29. {
  30. if(self::$stInstance == NULL) {
  31. self::$stInstance = new MerchantServer();
  32. }
  33. return self::$stInstance;
  34. }
  35. public function __construct()
  36. {
  37. parent::__construct();
  38. $this->setExFiles([]);
  39. }
  40. protected function preLooper()
  41. {
  42. parent::preLooper();
  43. DFAFilter::instance();
  44. area_helper::instance();
  45. }
  46. public function handle_request($file)
  47. {
  48. session::instance()->start();
  49. try
  50. {
  51. fcgi_header("Content-Type: text/html; charset=UTF-8");
  52. if(file_exists($file))
  53. {
  54. if ($this->isIndex($file)) {
  55. Base::mobile_control();
  56. } elseif ($this->is_exclude($file)) {
  57. include $file;
  58. } else {
  59. echo "You cannot access this file.";
  60. }
  61. }
  62. else
  63. {
  64. Log::record("Can Not call file: {$file}",Log::DEBUG);
  65. echo "no such file.";
  66. }
  67. }
  68. catch (UnloginException $ex) {
  69. joutput_error(errcode::ErrUnLogin,errcode::msg(errcode::ErrUnLogin));
  70. }
  71. catch (Exception $ex) {
  72. joutput_error($ex->getCode(),$ex->getMessage());
  73. Log::record("run_looper exception catch code={$ex->getCode()} msg={$ex->getMessage()} trace={$ex->getTraceAsString()}",Log::ERR);
  74. }
  75. session::instance()->end();
  76. }
  77. }