1

我想在没有 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)

4

1 回答 1

1

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

which php

您也可以尝试手动运行它,而不是通过以下命令将其作为可执行文件运行

php -f f.php &

并检查您的 php 文件是否在 apache 日志中出现任何错误,您可以在 apache 日志中找到/var/log/apache2/error.log

并确保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 &
于 2012-04-07T19:47:56.663 回答