2013-05-03 83 views
0

場景:帶有som預代碼的php腳本,require xxxx.php;和一些郵編。想要並相信由於使用require而不包含,如果xxxx.php超時,腳本將停止在「require」語句中 - 是否正確?PHP:如果由於超時而需要腳本停止,會發生什麼

或以另一種方式問:是一個超時與腳本拋出一個錯誤相同?

+0

超時,怎麼能這可能嗎? – 2013-05-03 04:15:43

+0

爲什麼不呢?所需的腳本可能與「主」腳本一樣容易超時,不是嗎?在這種情況下,主腳本和所需的腳本是在兩個不同的服務器上,一個是命令行窗口的PHP,另一個在網絡服務器上... – 2013-05-03 05:00:15

回答

1

從文檔:

的max_execution_time整數

這將設置在秒的腳本被允許它被分析器終止之前運行的最大時間。這有助於防止編寫糟糕的腳本捆綁服務器。缺省設置爲30.當從命令行運行PHP時,默認設置爲0.

最大執行時間不受系統調用,流操作等的影響。有關更多詳細信息,請參閱set_time_limit()函數。

在安全模式下運行時,無法使用ini_set()更改此設置。唯一的解決方法是關閉安全模式或更改php.ini中的時間限制。

您的Web服務器可以有其他超時配置,也可能會中斷PHP執行。 Apache有一個Timeout指令,IIS有一個CGI超時函數。兩者默認爲300秒。有關具體詳情,請參閱您的Web服務器文檔

Official Documentation在`require`和`include` set_time_limit()

+0

是的,我知道...... :-)問題是:什麼樣的錯誤超時拋出?如果所需的腳本超時,那麼將帶有內部STOP的主腳本停止? (這實際上是我想要它做的)...? – 2013-05-03 04:57:18

+0

是的,我相信它會讓主要腳本停止。想象一下,「必需/包含」文件在主腳本中有一個複製/粘貼。 – MISJHA 2013-05-03 05:01:26

+0

是的,正確,但不是100%,因爲包括在內不會使主腳本停止。但是你可能是對的,我也假設,只是想,如果可能的話,讓它證實...... :-) – 2013-05-03 05:09:04

相關問題