我想在没有fork的情况下在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);
}
发射:
root@ubuntu:/var/www# ./f.php &
[3] 10323
在FreeBSD上这个工作在Ubuntu文件3.txt没有更新:( 权限还可以(777)
答案 0 :(得分:1)
你可以检查你指向PHP的二进制文件的路径是否正确,我的意思是PHP真的安装在/ usr / bin / php中,你可以使用下面的命令来检查
which php
您也可以尝试手动运行它,而不是通过下面的命令
将其作为可执行文件运行php -f f.php &
并检查你的php文件是否在apache日志中出现任何错误,你可以在/var/log/apache2/error.log
找到apache日志
并确保通过执行以下命令
安装php5-cli
包
apt-get install php5-cli
<强>更新强>
根据http://www.freelance-it-consultant.com/blog/php-cli-script-running-background-ubuntu,当php通过CLI运行时,ubuntu中存在一些错误,它需要来自用户的一些输入,所以你能尝试这种方法吗?
php -q f.php < /dev/null &