WP升级:三招解决wordpress在线升级超时错误
前言:每次 WordPress大更新都让不得言头疼不已,傻瓜式的升级方式看似简单,只需轻点鼠标就能完成。事情似乎总是不顺利,不得言每次升级就没消停过,总会出现各式各样,莫名其妙的问题。
不得言边用VMware 做测试边看电影。电影把本来就富裕的带宽吞噬完毕,我的WordPress升级汉化测试经历了三次失败。于是就想当网速极慢迫不得已又不得不使用在线升级时,我们该怎么办呢?
好办,我们有三种方式,外加一种暴力方式,去解决这个问题。
站长自救法:set_time_limit(0);
当我们在点击升级按钮后,满怀期待地希望一番风顺,谁知刚坚持了30秒就出现下面错误提示(此为WordPress 3.2.1升级时超时错误提示):
PHP Fatal error: Maximum execution time of 30 seconds exceeded in D:\wwwroot\wp-includes\class-http.php on line 902
PHP Fatal error: Maximum execution time of 30 seconds exceeded in D:\wwwroot\wp-includes\wp-db.php on line 502
我们的解决办法是,利用PHP函数set_time_limit(int $seconds),设置脚本的最大执行时间。$seconds为整型以秒计,如果设置为零则表示直至脚本运行完毕。
因此把wp-includes\class-http.php文件开头加上 set_time_limit(0); 问题解决。
php.ini修改法max_execution_time
对于上面超时错误,还可以修改PHP配置避免。打开PHP.ini搜索max_execution_time,把后面的数值30,换成300。不管网速多慢,5M大小5分钟也该完成了。FastCGI 默认脚本超时时间是300秒,因此自认300秒是合适的。
但一些朋友可要注意了。过长的时间无疑给那些写的不好的垃圾脚本可乘之机,占用极大的系统资源——对于虚拟主机尤甚。参考PHP官方:max_execution_time
FastCGI Error:等待的操作过时。
上面说到 FastCGI默认脚本超时时间是300秒,300秒内完不成更新的可能性极小,怎么还碰到这个问题呢?其实要怪自己,在前面配置FastCGI模式运行的PHP时,我设置了:
ActivityTimeout=120
本地虚拟机测试再加上看电影,120秒内能下载下来都怪了。
找到%windir%\system32\inetsrv\fcgiext.ini,修改这个数值为300,或删除此行(默认就是300,删除了相当于恢复默认)
或者使用脚本:
1 |
cscript fcgiconfig.js -set -section: "PHP" -ActivityTimeout:300 |
FastCGI Error
The FastCGI Handler was unable to process the request.
Error Details:
* The FastCGI process exceeded configured activity timeout
* Error Number: 258 (0×80070102).
* Error Description: 等待的操作过时。
HTTP Error 500 – Server Error.
Internet Information Services (IIS)
暴力解决法:把服务器砸了卖废铁,然后扯跟光纤。
转载自网络: http://www.budeyan.com/net_sharing/wordpress-update-timeout/
Related Posts
- 调用自定义模板文件get_template_part()函数 (1.000)
- wordpress的文章形式get_post_format函数 (1.000)
- WordPress添加自定义字段面板 (1.000)
- WordPress add_theme_support() 函数详解 (1.000)