我正在尝试使用unix运行名为daemon.php的php脚本(下面)作为后台进程。
#!/usr/bin/php
<?php
$count = 0;
while(true){
$count = $count + 1;
file_put_contents('daemon1.log', $count, FILE_APPEND);
sleep(1);
}
?>
如果我使用下面的命令在前台运行它
php daemon.php
deamon1.log文件开始写入。如果我输入命令:
ps | grep php
我得到了出局
10573 ttys000 0:00.20 php daemon.php
如果我尝试使用命令
将其作为后台进程运行php daemon.php &
我把控制台拿出来了
[1] 10584
命令
ps | grep php
返回
10584 ttys000 0:00.02 php daemon.php
但是没有任何内容写入deamon1.log。谁能告诉我我做错了什么?
答案 0 :(得分:0)
尝试不同的方法。
$file_handler = fopen( 'daemon1tempname.log', 'a+') or die ('Can not work with the File!');
$count = 0;
while(true){
$count = $count + 1;
fwrite($file_handler, "Test {$count}\n" );
sleep(1);
}
fclose($file_handler);
请注意文件的不同名称。只需确保使用新文件即可。 如果可行,请使用您想要的文件进行测试。 如果这不起作用,那么你知道这是一个许可问题。