Tôi đang cố gắng để chạy daemon đơn giản này bằng cliSystem_Daemon thất bại trong việc mở dòng /var/log/mydaemonname.log
function doTask(){
echo 'mytest';
}
// Include PEAR's Daemon Class
require_once "/usr/share/php/System/Daemon.php";
// Bare minimum setup
System_Daemon::setOption("appName", "mydaemonname2");
try{
// Spawn Deamon!
System_Daemon::start();
// Your PHP Here!
while (true) {
doTask();
}
// Stop daemon!
System_Daemon::stop();
}
catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
notice: Starting mydaemonname daemon, output in: '/var/log/mydaemonname.log'
[Feb 08 12:17:23] warning: [PHP Error] file_put_contents(/var/log/mydaemonname.log): failed to open stream: Permission denied
cả host nội bộ và trong máy chủ dev của tôi.
Nếu tôi cố gắng xấp xỉ tạo và thiết lập 777 cho phép tập tin để /var/log/mydaemonname.log tôi nhận được lỗi này khác
[Feb 08 12:30:31] notice: Starting mydaemonname daemon, output in: '/var/log/mydaemonname.log'
[Feb 08 12:30:31] err: Unable to create directory: '/var/run/mydaemonname' [l:1366]
[Feb 08 12:30:31] emerg: Unable to write pid file /var/run/mydaemonname/mydaemonname.pid [l:1272]
[Feb 08 12:30:31] info: Process was not daemonized yet, just halting current process
và chmod nếu tôi cố gắng thiết lập 777 cho phép tập tin vào thư mục/var/run/mydaemonname Tôi nhận được thông tin này trong tệp nhật ký
notice: Starting mydaemonname daemon, output in: '/var/log/mydaemonname.log'
[Feb 08 12:17:06] err: Unable to change group of file '/var/run/mydaemonname/mydaemonname.pid' to 0 [l:1425]
[Feb 08 12:17:06] crit: Unable to change identity [l:1281]
[Feb 08 12:17:06] emerg: Cannot continue after this [l:1283]
Bạn có thể giúp tôi không?
Tạm biệt
Bạn có thể muốn đặt tùy chọn appRunAsUID, appRunAsGID, appPidLocation và logLocation. – rik
Tôi đã thử với $ path = dirname (__ FILE__); System_Daemon :: setOption ("appName", "mydaemonnew"); System_Daemon :: setOption ("appRunAsUID", 0); System_Daemon :: setOption ("appRunAsGID", 0); System_Daemon :: setOption ("appPidLocation", $ path. '/ Mypid'); System_Daemon :: setOption ("logLocation", $ path. '/ Mylog'); – Whisher
nhưng tôi nhận được [Feb 08 18:36:07] thông báo: Bắt đầu mydaemonnew daemon, xuất trong: '/ home/whisher/public_html/speakage/mailbomber/tests/gearman/mylog' [Feb 08 18:36:07] err: Kể từ phiên bản 0.6.3, pidfile cần phải nằm trong thư mục con riêng của nó như:% s/mydaemonnew/mydaemonnew.pid [l: 1339] [Feb 08 18:36:07] xuất hiện: Không thể ghi tệp pid/Trang chủ/whisher/public_html/speakage/mailbomber/kiểm tra/gearman/mypid [l: 1272] [Feb 08 18:36:07] info: Quá trình không được daemonized được nêu ra, chỉ cần tạm dừng quá trình hiện tại Tôi cần thêm manh mối :) – Whisher