我想在 Ubuntu 上启动简单的 php 守护进程,而无需 fork。
来源 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)
你能检查你指向的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 &