我也是萬萬沒想到 2023 年的開篇文章,竟然是因為一個 PHP 程序的 “bug”。事情是這樣的,當(dāng)我在??網(wǎng)站上進(jìn)行主題在線更新時,突然出現(xiàn)了 WordPress php 的 Fatal error,整個網(wǎng)站打不開,刷新后依舊無法解決,我們來看看 bug 是怎么回事?
圖片來源:wordpress
我們根據(jù) bug 提示能看到,致命錯誤(Fatal error)是因為調(diào)用了未定義的函數(shù) trailingslashit
Call to undefined function trailingslashit()
這時候我開始疑惑,半年多來我的網(wǎng)站一直正常運(yùn)行,怎么就突然出現(xiàn)了未定義的函數(shù)呢,事出反常必有妖,現(xiàn)在的 bug 肯定與之前的網(wǎng)站主題更新有關(guān)。
我們接著往下看 bug 提示,一整段看不懂不要緊,就找能看得懂的單詞,英語不好也不要緊,用翻譯軟件。
這時我在 bug 提示中看到了一個單詞,maintenance,這個單詞是“維護(hù)”的意思,wp_maintenance() 就是 WordPress 維護(hù),看到這里我恍然大悟,原來是之前的主題更新,讓 WordPress php 自動切換到了維護(hù)模式。
原因找到了,接下來給出解決辦法。
為了驗證我的猜測,我到 WordPress 根目錄中查看,果然看到了 .maintenance 文件,再看看日期,和網(wǎng)站主題更新時間最接近,是它沒錯了,它就是讓網(wǎng)站出現(xiàn)致命錯誤的罪魁禍?zhǔn)住?/p>
圖片來源:寶塔面板