WordPress后台更新出现PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature错误的另类解决办法

这两天WordPress后台提示我更新3.5版本,像往常一样,我仍是准备通过在线的方式更新,结果试了N次,每次都提示升级失败,出现如下错误:

无法安装这个包。: PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature

经过分析,由于更新包的源在国外服务器,而本站服务器在国内,所以在线更新时的下载速度就比较慢(有时可能因为国际网络连接抽风,下载甚至将直接中断),又由于这次是程序升级而不是普通的模板或者插件升级,压缩包较大(像这次的包接近7M大小),所以在达到了等待时间上限后,升级程序提前终止了下载并开始解包。因为文件不完整,解包当然就会失败,所以就出现了上述错误。

按照一般的解决方法,我们需要手动下载升级包进行人工升级,而参照了WordPress的升级说明后,我发现其远比在线更新麻烦的多(WordPress正以在线更新方便、快捷为一大亮点),所以我就试图寻找一种更方便的方法解决这个问题。

在分析了在线更新的流程和方式后,我发现每次升级时,WordPress会将下载的包在网站目录的wp-content文件夹里,以wordpress-3.tmp作为文件名(根据升级内容和需要更新的版本等因素的不同,该文件名可能会有所变化,不过应该都是以.tmp作为文件后缀的),所以我灵机一动,在下载开始前将手动下载下来的压缩包上传到该目录,然后等在线更新开始后删除.tmp文件,并将上传好的压缩包更名为wordpress-3.tmp。等待几分钟后(目的是为了让更新程序触发等待时间上限从而开始第二步),便可看到升级程序开始解包并安装更新了。

最后要说的是,这个解决方法同样适用于在线下载、更新模板和插件时出现这个错误的情况。如果你遇到了上述问题,不必急着去手动操作,不妨试试这种方法,绕过下载步骤,达到自动更新的效果。

米粒在线
  • 本文由 发表于 2013年1月17日19:40:22
  • 转载请务必保留本文链接:https://www.miliol.org/3242.html
网站建设

从并发20到并发120之laravel性能优化

调优成果 遇到问题 单台服务并发20,平均响应时间1124ms,通过htop观察,发现cpu占用率达到100%(包括sleep的进程),内存几乎没怎么用。 调优后 单机最大吞吐量达到1...
网站建设

为了WordPress运行效率翻倍我用Cyberpanel替代了宝塔面板

因为我的博客最近这段时间总是莫名其妙的卡成狗,用的是应该是某个插件的原因,正好许久没折腾了就追求刺激,准备重新使用我以前心心恋恋的 openlitespeed,当初测试在都安装插件的情况下 NGINX...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: