基本調試

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屬性,例如

use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

// 將螢幕打印輸出到Worker::$stdoutFile指定的文件中
Worker::$stdoutFile = '/tmp/stdout.log';

$http_worker = new Worker("http://0.0.0.0:2345");
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
    $connection->send('hello world');
};

Worker::runAll();

這樣所有的echo、var_dump、var_export等函式輸出會寫入到Worker::$stdoutFile指定的文件中。注意Worker::$stdoutFile指定的路徑要有可寫權限。