stdoutFile

คำอธิบาย:

static string Worker::$stdoutFile

คุณสมบัตินี้เป็นคุณสมบัติสแตติกทั่วไประดับคลาส หากรันในโหมดพิทักษ์ (-d เริ่มต้น) ข้อมูลเอาต์พุตทั้งหมดที่ส่งไปยังเทอร์มินัล (เช่น echo, var_dump เป็นต้น) จะถูกเปลี่ยนเส้นทางไปยังไฟล์ที่ระบุใน stdoutFile

หากไม่ตั้งค่า และรันในโหมดพิทักษ์ ข้อมูลเอาต์พุตทั้งหมดจากเทอร์มินัลจะถูกเปลี่ยนเส้นทางไปยัง /dev/null (ซึ่งเป็นการทิ้งข้อมูลทั้งหมดโดยค่าเริ่มต้น)

หมายเหตุ: /dev/null เป็นไฟล์พิเศษใน Linux ซึ่งเป็นเหมือนหลุมดำ ข้อมูลที่เขียนลงในไฟล์นี้จะถูกทิ้งทั้งหมด หากไม่ต้องการทิ้งเอาต์พุต คุณสามารถตั้ง Worker::$stdoutFile เป็นเส้นทางไฟล์ปกติ

หมายเหตุ: คุณสมบัตินี้ต้องตั้งค่าก่อนที่ Worker::runAll(); จะทำงานจึงจะมีผล ระบบปฏิบัติการ Windows ไม่รองรับฟีเจอร์นี้

ตัวอย่าง

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

Worker::$daemonize = true;
// การพิมพ์ทั้งหมดจะถูกเก็บรักษาในไฟล์ /tmp/stdout.log
Worker::$stdoutFile = '/tmp/stdout.log';
$worker = new Worker('text://0.0.0.0:8484');
$worker->onWorkerStart = function($worker)
{
    echo "Worker start\n";
};
// รัน worker
Worker::runAll();