PHP更新到7.3后 Crayon Syntax Highlighter 不兼容导致页面显示异常

本站的代码高亮使用的是 Crayon Syntax Highlighter,感觉还不错。

想直接看解决办法的直接拉到最后的正题部分。

 

前几个小时服务器搞崩了,可惜没有打快照,不过还好的是平时喜欢备份数据库和网站所有源文件的习惯,便重新安装了服务器,顺便将WordPress从Nginx迁移到了Caddy,原因是Nginx做流量转发进行反向代理的时候一直不成功,而Caddy已经有成功的经验。

不得不说Centos真的有点反人类啊,安装软件是真的麻烦,yum中途由于内存不够被迫中断导致一大堆问题,中途已经恢复了yum的使用,可能太过暴力导致了一些核心软件已经被损坏了,网站逐渐频繁出现数据库连接错误的情况,以为是数据库出了问题,一直后知后觉,最后打算重启看能否解决问题,结果一关机压根开不起来,直接Kernel Panic,这时候才发现系统早在yum中断后就被损坏,无奈,只能重装系统。(后记,不是系统损坏的原因,重装的系统也出现了同样的问题,可能是服务器资源不足造成)

系统安装好后ssh连接上去,用写好的脚本装好需要的软件,配置相关环境,上传整站备份文件,导入数据库,关闭firewalld,修改/etc/sysconfig/iptables放行相关端口,修改/etc/php-fpm.d/www.conf中listen内容以及user、group对象,添加CaddyFile,添加caddy用户,启动php-fpm,caddy,mysqld,设置免密登录……

注:caddy第一次启动需要先到/usr/local/caddy/目录下手动 ./caddy 启动,以获取ssl证书,网站有问题也需要这样更好的查看错误输出信息。

caddy和php-fpm需要使用如下步骤才能正常运行起来,笔者尝试不关闭php-fpm直接重启caddy都失败了。

软件运行起来后,用如下命令检查有没有监听到所需的端口上

caddy需要监听到80和443的端口,分别对应http和https的熟知端口,sshd需要监听到我们ssh root@连接时用到的端口上,同时我们能看到mysqld也监听了特定端口。

 

说了那么多废话,进入正题:

找到网站根目录下的 wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php,打开后定位到如下一行

改为:

保存退出即可。