2013-02-22 124 views
1

很簡單:PHP的ini_set( 「的max_execution_time」)失敗()

的ini_set( 「的max_execution_time」)工作當我通過經典URL電話呼叫的script.php

的ini_set( 「的max_execution_time」)並不時的script.php通過exec()函數從另一個PHP腳本/進程中運行的工作。現在

,我的解決方案不是簡單地在選項1中繼,因爲它的工作原理,因爲exec()函數是要激活的script.php和幾個類似的人是通過(外部)cron作業調用。

沒有人有想法發生了什麼?

如果它的幫助下面的是激活代碼:當函數ini_set()返回FALSE

exec('/usr/bin/env php ./script.php'); 
sleep(30); 
exec('/usr/bin/env php ./script2.php'); 

激活兩個腳本和script2.php和他們都失敗。

+4

當您使用'EXEC()'你正在使用PHP的CLI配置,而不是服務器配置。 – Barmar 2013-02-22 21:31:33

回答

0

使用的set_time_limit(秒),而不是函數ini_set()

1

由於Barmar指出,有PHP的幾個INI​​文件。至少一個用於CGI,另一個用於CLI。你也可以通過ini_set或在.htaccess中設置一些東西。 有一些配置文件可以定義哪些設置可以在哪裏更改。安靜可能你不允許修改CLI腳本中的max_execution_time。如果我沒有記錯的話,默認情況下它應該是0 aka unlimited。

+0

你和BadAlghoritm在同一時間指出了同樣的事情,這是正確的。我爲你的兩個答案投了票,我不能接受一個答案。這裏是趕上:http://www.php.net/manual/en/features.commandline.differences.php – 2013-02-22 22:07:29

+0

接受BA的人。如果你不接受答案,他需要的代表超過了我的代表,並且對你的個人資料反映不佳。 – 2013-02-23 07:42:18

+0

好的,如果你同意。感謝您的迴應:) – 2013-02-23 09:27:07