Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache和/或PHP超时-难倒了。_Php_Linux_Apache_Timeout - Fatal编程技术网

Apache和/或PHP超时-难倒了。

Apache和/或PHP超时-难倒了。,php,linux,apache,timeout,Php,Linux,Apache,Timeout,我有一个PHP脚本,当通过浏览器调用时,它会在60秒后超时。我修改了httpd.conf并将Timeout指令设置为300。我修改了所有PHP超时设置,使其延长到60秒以上。当我从命令行运行脚本时,它将完成。当我每次在60秒后通过浏览器执行时,POOF,timeout 我还检查了.htaccess文件中是否存在超时指令。那里什么都没有。。我完全被难住了 我还在PHP代码中强制设置时间限制(0) 我已经挖掘和测试了一个星期,已经用尽了我的知识。非常感谢您的帮助 有很多地方可以设置最大时间。如果您使

我有一个PHP脚本,当通过浏览器调用时,它会在60秒后超时。我修改了httpd.conf并将Timeout指令设置为300。我修改了所有PHP超时设置,使其延长到60秒以上。当我从命令行运行脚本时,它将完成。当我每次在60秒后通过浏览器执行时,POOF,timeout

我还检查了.htaccess文件中是否存在超时指令。那里什么都没有。。我完全被难住了

我还在PHP代码中强制设置时间限制(0)


我已经挖掘和测试了一个星期,已经用尽了我的知识。非常感谢您的帮助

有很多地方可以设置最大时间。如果您使用的是FastCGI,尤其是Virtualmin之类的软件,则会有一组额外的“最大执行时间”(max_execution_time)设置对您隐藏,除非您具有访问权限

简而言之,您需要找出所有的位置,给定PHP堆栈设置,可以有一个执行时间限制器,设置这些值,重新启动服务器,然后执行

set_time_limit(0);
当然可以


没有关于您的具体设置的更多信息,并且考虑到我在处理PHP执行时间挂起方面的经验,我只能告诉您这些。

您需要确保在PHP和Apache中都设置了更高的超时限制

如果在php.ini中设置了较高的max_execution_time,则脚本不会超时,但是,如果没有定期将脚本结果的输出刷新到浏览器,则脚本可能会由于网络超时而在Apache端超时

在httpd.conf中,执行以下操作:

Timeout 216000
在php.ini中,执行以下操作:

max_execution_time = 0
(将其设置为0使其永远不会超时,就像使用CLI(命令行)脚本一样)

确保完成后重新启动Apache!在大多数linux发行版上,您可以通过发出以下命令(以root用户身份)来执行此操作:


希望这有帮助

我正在做一些有点慢的事情,在我的循环中我重新声明了
set\u time\u limit(0)
。。出于某种原因,这使得脚本无法在此之后超时-这很奇怪。请确保这两种情况都使用完全相同的php.ini配置?此外,如果使用安全模式,则无法更改max_execution_timeoutput
phpinfo()
,并在设置时间限制BTW后查看
max_execution_time
是什么,请注意,根据下面的建议对脚本使用set_time_limit(0)仅在php环境未处于安全模式时有效。您可以通过使用phpinfo()运行脚本来检查php变量;在线上。
service httpd restart