哪些不同的设置会影响PHP和/或Apache超时?

时间:2010-08-20 17:36:13

标签: php apache timeout

我被要求帮助解决某人的网站问题。它是用php编写的,在linux机器上,使用apache服务器和mysql,我以前从未使用过任何这些(除了学校里的linux)。

我解决了大部分问题(大多数代码都是相同的,无论它是什么语言)但是在处理大文件时仍有一个页面超时。我很确定问题是在某个地方超时,但我不知道所有的PHP超时会在哪里。

我已经调整了php.ini中的max_execution_time,max_input_time,mysql.connect_timeout,default_socket_timeout和realpath_cache_ttl但是它在大约10分钟后仍然超时。我可以增加哪些其他设置来尝试修复此问题?

作为旁注,我知道在处理文件时通常不需要10分钟,但是网站的这一部分仅由一个人每周使用一次或两次,并且她不介意提供过程结束期待!我真的不想用我不理解的语言重写别人的错误编码,因为我不理解这个过程。

编辑:sql进程在后台完成,它只是超时的网页本身。

2 个答案:

答案 0 :(得分:3)

Per Frank Farmer的建议,我在代码中添加了flush(),现在可以使用了。绝对是浏览器超时,谢谢Frank!

答案 1 :(得分:2)

如果您将set_time_limit()设置为零,则可以使用TimeOut,脚本不应该超时。

这将放在你的脚本中,而不是任何配置等......

编辑:尝试更改apache的超时设置。在配置中查找{{3}}指令(对于apache 2.x和apache 1.3.x应该是相同的),一旦更改了重启apache并检查它。

编辑3: 你有没有找到我提供的链接?它列出了默认值,即300秒(5分钟)。此外,如果设置不在配置文件中,您可以添加它。

根据文件:

  

TimeOut指令当前定义了Apache等待三件事的时间:

     
      
  1. 接收GET请求所需的总时间。
  2.   
  3. 在POST或PUT请求上收到TCP数据包之间的时间。
  4.   
  5. 响应中TCP数据包传输的ACK之间的时间量。
  6.   

所以有可能它没有关系,但试试看看。