共计 2435 个字符,预计需要花费 7 分钟才能阅读完成。
正常將資料庫和網站還原後應該就完成整個搬家流程,不過這是在沒有安裝太多外掛前提之下,我自己本身安裝 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 1618Warning: 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 界面上就有提供一鍵加密 就不多加贅述,詳細可以參考 這篇文章
接下來會提到網站加密的小坑,因為預設我以為只要套用憑證就好,但實際上還有細節被我忽略了 …
- 1 2