การดีบักพื้นฐาน

Workerman มีโหมดการทำงานสองโหมด คือโหมดดีบักและโหมด daemon

การรัน php start.php start จะเข้าสู่โหมดดีบัก ในขณะที่โหมดนี้ ฟังก์ชันต่างๆ เช่น echo、var_dump、var_export จะพิมพ์ผลในเทอร์มินัล โปรดทราบว่า Workerman ที่รันด้วยคำสั่ง php start.php start จะปิดการทำงานทั้งหมดเมื่อเทอร์มินัลถูกปิด

หากรัน 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 ต้องมีสิทธิ์ในการเขียน