walkor 11 年之前
父节点
当前提交
2e885641f8
共有 4 个文件被更改,包括 21 次插入13 次删除
  1. 5 4
      applications/Demo/Config/Store.php
  2. 6 3
      workerman/Common/WebServer.php
  3. 7 3
      workerman/Core/Lib/Config.php
  4. 3 3
      workerman/bin/workermand

+ 5 - 4
applications/Demo/Config/Store.php

@@ -23,9 +23,10 @@ class Store
         '127.0.0.1:22322',
     );
     
-    /* 如果使用文件存储,则在这里设置数据存储的目录,默认/tmp/下
-     * 注意:如果修改了storePath,要将storePath加入到conf/conf.d/FileMonitor.conf的忽略目录中 
-     * 例如 $storePath = '/home/data/',则需要在conf/conf.d/FileMonitor.conf加一行 exclude_path[]=/home/data/
+    /* 
+     * 如果使用文件存储,默认系统临时目录下
      */
-    public static $storePath = './logs/workerman-demo/';
+    public static $storePath = '';
 }
+
+Store::$storePath = sys_get_temp_dir().'/workerman-demo/';

+ 6 - 3
workerman/Common/WebServer.php

@@ -45,7 +45,7 @@ class WebServer extends Man\Core\SocketWorker
      * 默认访问日志目录
      * @var string
      */
-    protected static $defaultAccessLog = './logs/access.log';
+    protected static $defaultAccessLog = '';
     
     /**
      * 访问日志存储路径
@@ -129,7 +129,7 @@ class WebServer extends Man\Core\SocketWorker
         // 默认访问日志目录
         if($default_access_log =  \Man\Core\Lib\Config::get($this->workerName.'.default_access_log'))
         {
-            self::$defaultAccessLog = $default_access_log;
+              self::$defaultAccessLog = $default_access_log;
         }
     }
 
@@ -318,7 +318,10 @@ class WebServer extends Man\Core\SocketWorker
         }
         else
         {
-            file_put_contents(self::$defaultAccessLog, $log_data, FILE_APPEND);
+            if(self::$defaultAccessLog)
+            {
+                file_put_contents(self::$defaultAccessLog, $log_data, FILE_APPEND);
+            }
         }
     }
 }

+ 7 - 3
workerman/Core/Lib/Config.php

@@ -12,7 +12,7 @@ class Config
      * 默认应用配置匹配路径
      * @var string
      */
-    const DEFAULT_CONFD_PATH = './conf/conf.d/*.conf';
+    const DEFAULT_CONFD_PATH = '../applications/*/conf.d/*.conf';
     
     /**
      * 配置文件名称
@@ -50,7 +50,6 @@ class Config
         self::$configFile = realpath($config_file);
         // 寻找应用配置
         $conf_d = isset(self::$config['workerman']['include']) ? self::$config['workerman']['include'] : self::DEFAULT_CONFD_PATH;
-        $conf_d = WORKERMAN_ROOT_DIR . self::$config['workerman']['include'];
         foreach(glob($conf_d) as $config_file)
         {
             $worker_name = basename($config_file, '.conf');
@@ -66,7 +65,11 @@ class Config
             // 支持 WORKERMAN_ROOT_DIR 配置
             array_walk_recursive(self::$config[$worker_name], array('\Man\Core\Lib\Config', 'replaceWORKERMAN_ROOT_DIR'));
             // 不是以 / 开头代表相对路径,相对于配置文件的路径,找出绝对路径
-            if(0 !== strpos(self::$config[$worker_name]['worker_file'], '/'))
+            if($real_path = realpath(self::$config[$worker_name]['worker_file']))
+            {
+                self::$config[$worker_name]['worker_file'] = $real_path;
+            }
+            else
             {
                 self::$config[$worker_name]['worker_file'] =dirname($config_file).'/'.self::$config[$worker_name]['worker_file'];
             }
@@ -85,6 +88,7 @@ class Config
         self::$config['Monitor']['preread_length'] = 8192;
         self::$config['Monitor']['exclude_path'] = isset(self::$config['Monitor']['exclude_path']) ?  array_merge(self::$config['Monitor']['exclude_path'], get_included_files()) : get_included_files();
         self::$config['Monitor']['exclude_path'][] = self::$config['workerman']['log_dir'];
+        self::$config['Monitor']['exclude_path'][] =sys_get_temp_dir();
         if(!isset(self::$config['Monitor']['listen']))
         {
             $socket_file = '/tmp/workerman.'.fileinode(__FILE__).'.sock';

+ 3 - 3
workerman/bin/workermand

@@ -16,7 +16,7 @@ $cmd = $argv[1];
 
 define('WORKERMAN_ROOT_DIR', realpath(__DIR__."/../")."/");
 
-chdir(WORKERMAN_ROOT_DIR);
+chdir(WORKERMAN_ROOT_DIR.'/conf');
 
 if(0 === strpos(strtolower(PHP_OS), 'win'))
 {
@@ -125,10 +125,10 @@ switch($cmd)
         break;
     case 'status':
         $address = Man\Core\Lib\Config::get('Monitor.listen');
-        $sock = @stream_socket_client($address);
+        $sock = @stream_socket_client($address, $err_no, $err_msg);
         if(!$sock)
         {
-            exit("\n\033[31;40mcan not connect to $address \033[0m\n\n\033[31;40mWorkerman not running\033[0m\n\n");
+            exit("\n\033[31;40mcan not connect to $address : $err_msg \033[0m\n\n\033[31;40mWorkerman not running\033[0m\n\n");
         }
         fwrite($sock, 'status');
         $read_fds = array($sock);