網站搬家後記 – 外掛衝突&強制加密

5年前 (2018-05-01) Yosheng 站務消息 0評論 已收錄 1638℃

正常將資料庫和網站還原後應該就完成整個搬家流程,不過這是在沒有安裝太多外掛前提之下,我自己本身安裝 Compress JPEG & PNG images 和 Crayon Syntax Highlighter ,其餘的都是之前 siteground 提供的我也就繼續沿用了,不過搬家後卻發生一個令人傻眼的結果......

我一打開我的網站在頂端出現如附圖的錯誤訊息


錯誤訊息如

Warning: is_dir(): open_basedir restriction in effect. File(/) is not within the allowed path(s):
(/home2/yszhangt:/home/yszhangt:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:
/tmp:/opt/alt/php52/usr/share:/opt/alt/php53/usr/share:/opt/alt/php54/usr/share:/opt/alt/php55/usr/share:
/opt/alt/php56/usr/share:/opt/alt/php70/usr/share:/opt/alt/php71/usr/share) in /home/yszhangt/public_html/blog/wp-includes/functions.php on line 1618
Warning: is_dir(): open_basedir restriction in effect. File(/home/risen988/public_html/blog/wp-content/uploads/crayon-syntax-highlighter/fonts/) is not within the allowed path(s):
(/home2/yszhangt:/home/yszhangt:/usr/lib/php:/usr/php4/lib/php:/usr/local/lib/php:/usr/local/php4/lib/php:
/tmp:/opt/alt/php52/usr/share:/opt/alt/php53/usr/share:/opt/alt/php54/usr/share:/opt/alt/php55/usr/share:
/opt/alt/php56/usr/share:/opt/alt/php70/usr/share:/opt/alt/php71/usr/share) in /home/yszhangt/public_html/blog/wp-content/plugins/crayon-syntax-highlighter/crayon_resource.class.php on line 90

可以看出發生錯誤的應該是 crayon-syntax-highlighter 插件所導致,果不其然我將他關閉後就正常了!但這治標不致本的方式我當然不能接受,因此我開始想辦法解決 直接查詢 「wordpress basedir Warning: is_dir():」

得到一個結果 使用debug_backtrace()做PHP调试  這個博主也是搬家遇到類似的問題 都是同樣的插件報錯,關鍵在於沒有找到對應的路徑所以才會出錯!因此接下來就是要解決路徑的問題,那關鍵是路徑在哪決定?資料庫還是檔案?

針對檔案的部份可以抓下來的網站檔案查詢錯誤內容的路徑,發現查不到,那顯然這資料就是從資料庫來了,而且路徑就是我前主機中的網站根目錄。

我在 stackoverflow 上有看到類似 is_dir() 錯誤的相關討論串,文中提到在資料庫中 選擇 wp_options 表中查詢 option_name 欄位值為 upload_path 果不其然找到對應的路徑進行修改即可。

不過我是直接展開整張 wp_options 表然後在框框裡面改值 如附圖 改成目前主機的路徑即可


最後是設定網站加密 但這部份由於 Sugarhosts 在 Cpanel 界面上就有提供一鍵加密 就不多加贅述,詳細可以參考這篇文章

接下來會提到網站加密的小坑,因為預設我以為只要套用憑證就好,但實際上還有細節被我忽略了...

博主

擅長使用 C# 和 Java 開發項目,全棧開發工程師,前端主要使用 Vue 其次 Angular ,目前正在學習分布式架構,運維研發兼具,平時愛好鑽研技術並應用於實務當中,常駐於上海。

相關推薦

相逢就是有緣,留下足跡吧!