我也是萬萬沒想到 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 文件,再看看日期,和網站主題更新時間最接近,是它沒錯了,它就是讓網站出現致命錯誤的罪魁禍首。
圖片來源:寶塔面板