1

フォークなしで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 に答える