基本调试

WorkerMan有两种运行模式,调试模式以及daemon运行模式

运行 php start.php start 进入调试模式,这时代码中的echo、var_dump、var_export等函数打印会在终端显示。注意以php start.php start运行的WorkerMan在终端关闭时所有进程会退出。

而运行 php start.php start -d则是进入daemon模式,也就是正式上线的运行模式,关闭终端不受影响。

如果想daemon方式运行时也能看到echo、var_dump、var_export等函数打印,可以设置Worker::$stdoutFile属性,例如

  1. use Workerman\Worker;
  2. use Workerman\Connection\TcpConnection;
  3. require_once __DIR__ . '/vendor/autoload.php';
  4. // 将屏幕打印输出到Worker::$stdoutFile指定的文件中
  5. Worker::$stdoutFile = '/tmp/stdout.log';
  6. $http_worker = new Worker("http://0.0.0.0:2345");
  7. $http_worker->onMessage = function(TcpConnection $connection, $data)
  8. {
  9. $connection->send('hello world');
  10. };
  11. Worker::runAll();

这样所有的echo、var_dump、var_export等函数打印会写入到Worker::$stdoutFile指定的文件中。注意Worker::$stdoutFile指定的路径要有可写权限。