2014-09-05 49 views
0

我試圖增加在IIS 7.5(Windows Server 2012)上運行的PHP(5.5)中的max_execution_time值。在IIS 7.5中增加php max_execution_time

phpinfo()顯示max_execution_time = 300,無論我嘗試了什麼。一些Internet源提到這個值被IIS中的某些東西覆蓋。

基於互聯網的搜索,我已經試過如下:

  • 編輯的max_execution_time在php.ini到1200後再重新啓動服務器 - 不影響
  • 改變CGI->動作 - >超時到1200然後重新啓動服務器 - 無效
  • 放入「ini_set('max_execution_time',1200);」以上phpinfo()。這實際上有一些效果。該頁面顯示「本地」值是1200,而「大師」值仍然是300

我可以理解,第三個選項工作,因爲它是在同一個腳本,並立即將phpinfo()函數線以上因此具有最高的優先權。不過,我正在尋找一個服務器範圍的配置。我有一種感覺,這是可能的,而且我沒有找到正確的地方。

有人能指出我正確的方向嗎?

感謝

回答

1

請檢查您的服務器上一個隱藏的.htaccess文件,如果沒有.htaccess文件,那麼你可以創建一個(請確保沒有任何隱藏的htaccess文件否則會覆蓋)和粘貼這段代碼。

php_value max_execution_time 259200 

您也可以參考這個網址Increase max execution time for php

+0

感謝您的意見。除了一個名爲phpinfo.php的文件外,網站上沒有任何.htaccess文件。 – nanytech 2014-09-05 05:49:02

+1

問題Apache在其httpd.conf文件中有PHPIniDir標記。該標籤被PHP版本4.x忽略,但版本5.x使用它。它指向C:\ PHP而不是C:\ WINDOWS。所以,它在C:\ PHP中尋找PHP.INI,但沒有,所以它使用了默認值,但是PHPINFO()在4.x版本中工作,所以它在C:\ WINDOWS中正確報告了PHP.INI ...您可以通過phpinfo()跟蹤php.ini的位置並將其更新到正確的php.ini文件中。 – 2014-09-05 07:54:27

+0

謝謝帕蒂。我終於弄明白了。看起來Web平臺安裝程序創建了一個包含max_execution_time的一系列重寫變量的獨立部分 – nanytech 2014-09-08 20:50:37

1

重讀php.ini中的每一行之後,我發現在這個被命名爲[WebPIChanges]文件的最底部另一部分,包含了一堆「覆蓋」。我猜這是來自Web平臺安裝程序。

調整該值爲我解決了它。

如果有人遇到同樣的問題,我會放棄它。

0
C:\Program Files\PHP\v7.0\php.ini 

搜索:"[WebPIChanges]" 應該有"max_execution_time=300"改變這個紀錄。