PHP scandir函式導致WordPress管理後臺無法顯示主題模板
阿新 • • 發佈:2018-12-27
環境:騰訊雲、CentOS 6.8; LNMP1.3; WordPress4.7.3
問題現象:
今天在給Rancher中文社群搭建WordPress網站時,安裝完WP後,在後臺“外觀 > 主題”只能看到一個wordpress主題模板(如圖1),檢查伺服器後臺wordpress的themes目錄下卻有三套預設的主題模板(如圖2)。
圖1
圖2
一開始懷疑是WP版本問題,重灌後問題還是存在,再網上搜了一圈,找到原因是由於PHP的scandir()函式與WP相容存在問題。由於這次網站的部署環境是採用CentOS+LNMP部署的,估計還會有其他小夥伴會遇到類似問題,那就順手記錄下來。
解決方案:
1. 以root使用者登入網站作業系統。
2. 使用vi編輯檔案/usr/local/php/etc/php.ini,找到其中的scandir, (注意:scandir後面有個逗號,也是要刪除的)刪除它然後儲存檔案(如圖3)。
PS:如果你不會vi/vim編輯器,也可以使用FTP工具先將該檔案下載到本地,再使用EditPlus或Notepad++來編輯。
圖3
3. 執行以下命令重啟PHP服務
# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
4. 檢查網站wordpress管理後臺的主題頁面,已可以看到三個主題,一切正常,問題解決。