最近工作中遇到一个头疼的问题:php中调用一个存储过程,由于此过程执行时间很长.导致php总是超时错误:
Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems . Please try again later .
问题折腾了好久,一直没找到原因.分别是:
php开头加上: set_time_limit(0); 不管用.
php.ini中设置timeout的时间:
session.cookie_lifetime = 0
session.gc_maxlifetime = 3440
pfpro.defaulttimeout = 3600
max_execution_time = 3600
max_input_time = 3600 ;
还是不管用.
设置mysql的配置文件my.ini:
connect_timeout=3600
wait_timeout=2880000
interactive_timeout = 2880000
max_allowed_packet = 10M
还是还是不管用.
Apache中设置httpd.conf 超时:
#Timeout: Sec.
Timeout 360000
#KeepAlive: Off | On
KeepAlive On
#MaxKeepAliveRequests:
MaxKeepAliveRequests 0
#KeepAliveTimeout:
KeepAliveTimeout 600
继续不管用.晕死了...
今天继续找原因.哈哈哈哈.竟然在C:/Program Files/Zend/ZendServer/etc/ZendEnablerConf.xml 中找到一个timeout属性.<Timeouts ConnectionTimeout="60" requestTimeout="120" /> 难道是这个原因??120改成1200 .测试....成功!!!!
反正以上设置我不知道是否必须.反正这个设置必须的.呵呵呵.写在这里备忘,希望对找到这的人也有帮助