我正在尝试运行php脚本(下面)命名为daemon.php作为后台进程使用unix。
#!/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
但是没有写入到demon1 .log中。谁能告诉我我哪里做错了?
尝试不同的方法。
$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);
注意文件的不同名称。只是要确保你使用的是一个新文件。如果可以,用您想要的文件进行测试。