关于wordpress5.x版本新版编辑器出现文章发布失败的解决方法。

基础环境

  • 阿里云轻量应用服务器——wordpress环境(LAMP)
  • PHP版本为5.6.31

问题描述:

更新完5.2版本的wordpress后,发现新版编辑器无法正常的发布文章、页面等内容,点击发布以后,提示发布失败或更新失败,但是页面内容已经正常的发布、更新。

解决过程:

第一步:

在网上查询相关信息后,大部分都表示是新版编辑器存在问题,可以通过安装”
Classic Editor Addon “插件,并激活来使用旧版编辑器正常编辑。

但是考虑到新版编辑器的功能更为强大、界面友好等原因,加上临时有空可以花时间研究该问题,就决定自己寻找解决方法了。

第二步:

正好在思考解决方法的时候,阿里云的客服来电询问一些该服务器的情况,我也提出了这个无法正常发布文章的问题,客服表示可以在工单系统中提交工单,由技术部门进行处理。

提交工单后,大概等了两小时,终于有了回复!

您好,这边主机是没有限制的,您看下是否有error日志,另外看下WordPress官网是否有相应的说明

阿里云客服回复

没办法,自己解决吧!

第三步:

在服务器中查看错误日志,发现确实存在一些问题。

出现php警告和错误信息,为了查看问题的原因,我重新进行了一次文章发布,并提示发布错误,随后立即查看日志文件,从中发现了一些重要的错误信息。

日志文件中提示,php错误,并给出了对应的一些处理方法,在php.ini文件中,设置

always_populate_raw_post_data = -1

那么php.ini在哪里呢?比较简单的方法就是通过创建一个带有以下内容的php文件,并访问它。

<?php  phpinfo();  ?>

获取到了php.ini配置文件的路径

随后将该文件备份,再编辑,搜索其中的always_populate_raw_post_data选项,并将前面的注释(;)去掉即可。

随后重启httpd服务,解决了该问题!

后记:

本次调试wordpress,发现了一些平时应该注意的小细节,比如:

  • 在配置服务时,记得把日志的配置打开,在后续调试过程中日志文件非常有用!本次能够顺利解决也是由于错误日志的提示信息。
  • 在对配置文件进行修改时,记得先备份,哪怕是再简单的配置文件!毕竟配置文件出错时,要进行排查就更为复杂了。

关于 always_populate_raw_post_data 的问题,后续有空再进行更新。


2019.6.4更新

后续在网上查阅了相关的资料,always_populate_raw_post_data参数是为了让HTML在提交POST请求时,可以传输post raw data,在PHP7中已经取消了这个参数,所以在使用PHP7搭建wordpress中,应该不会出现这个错误。

PHP7.0比5.x的运行效率更高,如果是新搭建站点,建议还是使用PHP7来进行搭建,现在新型的应用一般都是采用PHP7作为基础的,可以避免一些不必要的麻烦,同时还能加快站点运行效率!如果原先是PHP5.X的,要升级到PHP7之前,建议先给服务器打好快照,避免应用与PHP7出现一些不兼容的情况。