2014-09-05 61 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"改变这个纪录。