我被要求帮助解决某人的网站问题。它是用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进程在后台完成,它只是超时的网页本身。
答案 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等待三件事的时间:
- 接收GET请求所需的总时间。
- 在POST或PUT请求上收到TCP数据包之间的时间。
- 响应中TCP数据包传输的ACK之间的时间量。
醇>
所以有可能它没有关系,但试试看看。