Home > Wordpress > WordPress 3.0 Update Network超时

WordPress 3.0 Update Network超时

September 1st, 2010

最近将Blog升级到Wordpress 3.0. 新版本支持multisite模式, 我正好可以把几个Blog合并管理. 激活多站点模式后, WordPress管理菜单中新出现了Super Admin菜单, 下面包含Update菜单项, 在Wordpress升级后, 可以通过Update Network功能同时更新当前站点下的所有Blog.

不过最近使用Update Network功能从来没有成功过, 猜测是超时的问题. 我服务器使用的是nginx + php5-fpm, nginx的error.log中相关错误是ms-upgrade-network.php脚本产生的upstream timed out:

2010/08/18 08:39:37 [error] 1962#0: *39882 upstream timed out (110: Connection timed out) while reading upstream, client: 192.168.1.1 server: example.com, request: "GET /wp-admin/ms-upgrade-network.php?action=upgrade HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "example.com", referrer: "http://example.com/wp-admin/ms-upgrade-network.php"

解决方法包括两方面. 首先增加php脚本的时间限制, 相关参数主要有: max_execution_time, max_input_time. 默认是30还是60秒, 对于Update Network来说可能不够, 所以要修改php-fpm的配置(/etc/php5/fpm/php.ini):

max_execution_time = 300
max_input_time = 600

还有就是增加nginx等待的超时限制, 参见Nginx的文档, 主要有fastcgi_read_timeout, fastcgi_send_timeout, 可能和上面的php参数是对应的(read对应execution, send对应input):

location ~ \.php$ {
	fastcgi_pass   127.0.0.1:9000;
        ...
        fastcgi_read_timeout 300;
        fastcgi_send_timeout 600;
}

修改完成之后重启nginx和php5-fpm服务器, Update Network可以正常结束.

Categories: Wordpress Tags: , ,
Comments are closed.