Beispiel #1
0
 public function __construct()
 {
     $logConfig = ApiConfig::getLogConfig();
     parent::__construct($logConfig['name']);
     parent::pushHandler(new RotatingFileHandler("{$logConfig['log_path']}/info-log"), Logger::INFO);
     parent::pushHandler(new RotatingFileHandler("{$logConfig['log_path']}/info-log"), Logger::ERROR);
 }
Beispiel #2
0
 /**
  * 获取ApiClient的单例
  * @return \Wx\Wxserver\Compent\ApiClient
  */
 public static function instance()
 {
     if (empty(self::$APICLIENT)) {
         $swServerConfig = ApiConfig::swServerConfig();
         self::$APICLIENT = new self($swServerConfig['ip'], $swServerConfig['port']);
     }
     return self::$APICLIENT;
 }
Beispiel #3
0
 private function db($type)
 {
     if (!\in_array($type, array('reader', 'writer'))) {
         ApiServerException::throwException('获取DB的参数只能是reader和writer', ApiServerException::ERROR_CODE_RUNTIME_EXCEPTION);
     }
     /*
      * 首先检查对应的连接是否已经被初始化,如果被初始化了,直接返回
      */
     if ($type == 'reader' && !empty($this->dbReader)) {
         return $this->dbReader;
     }
     if ($type == 'writer' && !empty($this->dbWriter)) {
         return $this->dbWriter;
     }
     $dbConfig = ApiConfig::getDBConfig();
     if ($type == 'reader') {
         if (!isset($dbConfig['read']) || !isset($dbConfig['write'])) {
             $this->dbReader = $this->getDb($dbConfig);
             return $this->dbReader;
         } elseif (isset($dbConfig['pool']) && $dbConfig['pool']) {
             $dbReaderConfig = $dbConfig['read'][\rand(0, \count($dbConfig['read'] - 1))];
             $this->dbReader = new DBPoolConnection($dbReaderConfig['dns'], $dbReaderConfig['username'], $dbReaderConfig['password'], $dbReaderConfig['charset'], isset($dbReaderConfig['options']) ? $dbReaderConfig['options'] : array());
             return $this->dbReader;
         } else {
             $dbReaderConfig = $dbConfig['read'][\rand(0, \count($dbConfig['read'] - 1))];
             $this->dbReader = new DBConnection($dbReaderConfig['dns'], $dbReaderConfig['username'], $dbReaderConfig['password'], $dbReaderConfig['charset'], isset($dbReaderConfig['options']) ? $dbReaderConfig['options'] : array());
             return $this->dbReader;
         }
     }
     if ($type == 'writer') {
         if (!isset($dbConfig['write']) || !isset($dbConfig['read'])) {
             $this->dbWriter = $this->getDb($dbConfig);
             return $this->dbWriter;
         } elseif (isset($dbConfig['pool']) && $dbConfig['pool']) {
             $this->dbWriter = new DBPoolConnection($dbConfig['write']['dns'], $dbConfig['write']['username'], $dbConfig['write']['password'], $dbConfig['write']['charset'], isset($dbConfig['write']['options']) ? $dbConfig['write']['options'] : array());
             return $this->dbWriter;
         } else {
             $this->dbWriter = new DBConnection($dbConfig['write']['dns'], $dbConfig['write']['username'], $dbConfig['write']['password'], $dbConfig['write']['charset'], isset($dbConfig['write']['options']) ? $dbConfig['write']['options'] : array());
             return $this->dbWriter;
         }
     }
 }
Beispiel #4
0
 /**
  * 判断Api服务器是不是已经启动
  */
 public static function isRun()
 {
     $swooleServerConfig = ApiConfig::swServerConfig();
     return NetUtil::checkPortUsed($swooleServerConfig['ip'], $swooleServerConfig['port']);
 }