升级 WordPress 3.4.1后所有主题都从仪表盘的主题管理页面消失了,除了那个正在使用的主题。纳闷了半天,原来是安装lnmp的时候默认将 PHP 的 scandir 函数禁用掉了,新版 WordPress 引入了 WP_Theme 类来处理主题问题,该类使用 scandir 函数来检测 /wp-content/themes/ 中的所有主题。
解决问题的办法就是再次编辑 php.ini 文件,将 scandir 从那一行里删除,然后重新启动 php 服务:
/usr/local/php/sbin/php-fpm restart
搞定收工