我们有一个 Redhat Centos 5.5 系统,其中有一个 php/mysql 应用程序。
服务器重启后,我们看到一些“较长”的脚本在 60 秒后超时,或者浏览器提示用户下载 php 文件(该文件为空)。
大多数 php 脚本运行良好,但有些则不然。
代码没有改变,只有服务器重启。
編輯1
phpinfo() 显示“已加载的模块”为:
核心预分叉 http_core mod_so mod_auth_basic mod_auth_digest mod_authn_file mod_authn_alias mod_authn_anon mod_authn_dbm mod_authn_default mod_authz_host mod_authz_user mod_authz_owner mod_authz_groupfile mod_authz_dbm mod_authz_default util_ldap mod_authnz_ldap mod_include mod_log_config mod_logio mod_env mod_ext_filter mod_mime_magic mod_expires mod_deflate mod_headers mod_usertrack mod_setenvif mod_mime mod_dav mod_status mod_autoindex mod_info mod_dav_fs mod_vhost_alias mod_negotiation mod_dir mod_actions mod_speling mod_userdir mod_alias mod_rewrite mod_proxy mod_proxy_balancer mod_proxy_ftp mod_proxy_http mod_proxy_connect mod_cache mod_suexec mod_disk_cache mod_file_cache mod_mem_cache mod_cgi mod_version mod_perl mod_php5 mod_proxy_ajp mod_python mod_ssl
答案1
可能是 mysql(万一远程服务器崩溃了)或 CentOS 上的其他服务正在终止线程。我记得 SE linux 是罪魁祸首之一。
答案2
听起来好像有些东西已经升级,但直到重新启动后才生效。最明显的是新的 php.ini 将设置max_execution_time
为 60 秒。
答案3
我相信 php.ini 中的默认 mysql.connect_timeout 是 60
也许您在从脚本连接到 mysql 时遇到了问题?
答案4
在包含中断脚本的文件夹中,您是否有一个 .htaccess 文件?其中是否有 max-execution-time 指令?也许在旧配置中未读取 .htaccess,但现在可能已应用。
其他方法:可能是浏览器超时了?你确定你的脚本发送了一些数据吗?你遇到了一些错误(在 Firefox 控制台中)?