1. 程式人生 > >PHP scandir函式導致WordPress管理後臺無法顯示主題模板

PHP scandir函式導致WordPress管理後臺無法顯示主題模板

環境:騰訊雲、CentOS 6.8; LNMP1.3; WordPress4.7.3

問題現象:

今天在給Rancher中文社群搭建WordPress網站時,安裝完WP後,在後臺“外觀 > 主題”只能看到一個wordpress主題模板(如圖1),檢查伺服器後臺wordpress的themes目錄下卻有三套預設的主題模板(如圖2)。

wordpress主題模板顯示問題

圖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管理後臺的主題頁面,已可以看到三個主題,一切正常,問題解決。

wordpress主題模板顯示問題