2012-04-07 89 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