2012-04-07 97 views
1

我想在没有fork的情况下在Ubuntu上启动简单的php守护进程。在Ubuntu上启动简单的php守护进程

源f.php:

#!/usr/bin/php 
<?php 
file_put_contents('/var/www/3.txt',date("H:i:s", time()) . "\n", FILE_APPEND); 
while (true) { 
    file_put_contents('/var/www/3.txt',date("H:i:s", time()) . "\n", FILE_APPEND); 
    sleep(1); 
} 

推出:

[email protected]:/var/www# ./f.php & 
[3] 10323 

在FreeBSD在Ubuntu文件3.txt这个工作做好没有更新:( 权限都OK(777)

回答

1

你能检查一下你指向PHP二进制文件的路径是否正确,我的意思是PHP真的安装在/ usr/bin/php中,你可以通过使用下面的命令

which php 

,你也可以尝试手动运行它,而不是通过如下命令运行它作为一个可执行

php -f f.php & 

的,并检查,如果你的PHP文件是给在Apache日志的任何错误,你可以找到在/var/log/apache2/error.log

,也Apache日志使通过执行以下命令

apt-get install php5-cli 
确保已安装 php5-cli

更新:

根据http://www.freelance-it-consultant.com/blog/php-cli-script-running-background-ubuntu,有在Ubuntu的一些bug时PHP是通过命令行运行,预计来自用户的某些输入,这样你就可以试试这个方法是否适合你?

php -q f.php < /dev/null & 
+0

全部安装完毕,所有的工作,而与井和/var/log/apache2/error.log是无用的,因为没有阿帕奇出发) – truetobetrue 2012-04-07 21:25:18

+0

检查更新答案 – 2012-04-08 09:11:38