2012-07-15 25 views
0

我有一個需要在後臺運行的php腳本。目前在我的開發箱上我正在運行如何使用PHPFog中的系統調用php腳本

shell_exec("php5-cgi <path>"); 

它工作正常。儘管當我將代碼推送到專用的phpfog雲中時,似乎該腳本沒有被調用。我無法找出問題所在。它是exec_shell不工作或php5-cgi命令不存在。

我該如何更好地理解發生了什麼?

+0

我並不熟悉PHPFog,但在[Pagoda Box中,這些被稱爲工作者](http://help.pagodabox.com/customer/portal/articles/430779)。不要挑戰比賽,只是給你我的背景。 – 2012-07-15 23:03:54

+0

什麼是'exec_shell'? PHP函數? – 2012-07-15 23:08:34

+2

首先你應該熟悉文檔:http://docs.phpfog.com/faqs/#sharedvdedicated – 2012-07-15 23:10:52

回答

1

你可以嘗試從您的EXEC掉話5-cgi

exec_shell("php <path>"); 

此外,你可以使用cron作業本:http://docs.phpfog.com/customize/cron

創建一個cron作業來,對於工作的時間間隔運行<path>你的需求(假設路徑是一個PHP文件)。 PHPFog使這非常簡單。

如果您正在嘗試執行長時間運行的任務,請不要讓瀏覽器等待結果,那麼我建議您在數據庫表中排隊,然後使用cron作業執行處理這些排隊任務的php腳本。我將使用來自客戶端的ajax調用來檢查任務的狀態,然後在任務完成時執行頁面刷新。

+0

這幾乎解決了我的問題。現在只有問題是。當我運行「php 」時,我沒有暴露給該腳本的apache環境。 – 2012-07-16 11:03:41

+0

當您使用cron作業界面運行腳本時,您將擁有phpfog環境變量。 – 2012-07-16 16:35:26