2012-10-31 170 views
0

我的代碼點火器應用程序中有一個PHP腳本, 它運行在服務器上並獲取一些數據,但其運行時間不超過2分鐘.. 當我運行這個程序時不使用代碼點火器,它的工作正常..什麼可能成爲這背後的原因?CodeIgniter php腳本運行時間不超過2分鐘?

+0

您的服務器運行不正常,請檢查您的Apache錯誤日誌.. – Svetoslav

+0

actualy腳本用於從另一臺服務器獲取數據.. – Ekky

+1

Codeigniter在其核心文件中執行'set_time_limit(300)'。如果不這樣做,嘗試在代碼上方設置時間限制。 – air4x

回答

1

感謝@ air4x它的作品。通過設置的set_time_limit(300)在系統/核心/CodeIgniter.php

if (function_exists("set_time_limit") == TRUE AND @ini_get("safe_mode") == 0) 
{ 
    @set_time_limit(300); 
} 

設置運行良好的代碼腳本以後。

+0

我有和你一樣的問題,但是當我添加你的代碼時,它不起作用,或者我的PHP版本不再適用這個修復程序....我的PHP版本是7 .... – SilverRay

0

嘗試加入這個你運行你的代碼之前:set_time_limit(0);

更多信息:http://php.net/manual/en/function.set-time-limit.php

如果不工作,你需要分享你正在運行的代碼,並會發生什麼,當它停止運行。

+0

thanx @Justin但我已經嘗試set_time_limit(1000000);這一個,但它不起作用。 – Ekky

+0

然後,您需要發佈有關該問題的更多信息。如果您沒有收到錯誤,則需要檢查服務器上的錯誤日誌。 – Justin

+1

另外請注意,你必須確保你沒有在安全模式下運行php。 Safemode忽略set_time_limit()函數。 – Justin

0

必須有,參數或者set_time_limit - 設置最長執行時間的腳本。

bool set_time_limit (int $seconds) 

When set_time_limit()叫。它將計數器歸零。換句話說,如果默認限制是30秒,並且在腳本執行25秒後進行set_time_limit(20)調用,那麼腳本將在完成前總共運行45秒。

請訪問http://php.net/manual/fr/function.set-time-limit.php瞭解更多信息。