Estoy tratando de ejecutar este sencillo daemon cliSystem_Daemon pudo abrir la secuencia /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
tanto en mi máquina local y en mi servidor dev.
Si intento más o menos crear y establecer chmod 777 permisos de ficheros a /var/log/mydaemonname.log recibí este otro error
[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
y si intento configurar 777 permisos de ficheros en/var/Ejecutar/mydaemonname consigo esto en el archivo de registro
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]
¿me puede ayudar, por favor?
adiós
Es posible que desee establecer las opciones appRunAsUID, appRunAsGID, appPidLocation y logLocation. – rik
Intenté con $ 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
pero recibo [Feb 08 18:36:07] aviso: Iniciando mydaemonnew daemon, salida en: '/ home/whisher/public_html/speakage/mailbomber/tests/gearman/mylog' [Feb 08 18:36:07] err: desde la versión 0.6.3, el archivo pid debe estar en su propio subdirectorio como:% s/mydaemonnew/mydaemonnew.pid [l: 1339] [Feb 08 18:36:07] emerg: no se puede escribir el archivo pid/home/whisher/public_html/speakage/mailbomber/tests/gearman/mypid [l: 1272] [08 de febrero 18:36:07] info: El proceso no se ha demonizado aún, simplemente deteniendo el proceso actual Necesito más pistas :) – Whisher