我也是万万没想到 2023 年的开篇文章,竟然是因为一个 PHP 程序的 “bug”。事情是这样的,当我在 网站上进行主题在线更新时,突然出现了 WordPress php 的 Fatal error,整个网站打不开,刷新后依旧无法解决,我们来看看 bug 是怎么回事?
图片来源:wordpress
我们根据 bug 提示能看到,致命错误(Fatal error)是因为调用了未定义的函数 trailingslashit
Call to undefined function trailingslashit()
这时候我开始疑惑,半年多来我的网站一直正常运行,怎么就突然出现了未定义的函数呢,事出反常必有妖,现在的 bug 肯定与之前的网站主题更新有关。
我们接着往下看 bug 提示,一整段看不懂不要紧,就找能看得懂的单词,英语不好也不要紧,用翻译软件。
这时我在 bug 提示中看到了一个单词,maintenance,这个单词是“维护”的意思,wp_maintenance() 就是 WordPress 维护,看到这里我恍然大悟,原来是之前的主题更新,让 WordPress php 自动切换到了维护模式。
原因找到了,接下来给出解决办法。
为了验证我的猜测,我到 WordPress 根目录中查看,果然看到了 .maintenance 文件,再看看日期,和网站主题更新时间最接近,是它没错了,它就是让网站出现致命错误的罪魁祸首。
图片来源:宝塔面板