网站从虚拟主机到VPS搬家后,各种问题接踵而来,这次的问题是后台主题只能显示一个。其他模板全都消失不见了。这个问题主要原因还是因为服务器设置的问题。而不是主题自身问题。因为虚拟主机一切服务器设置都是设置好的。而VPS都是自己配置的。所以很多事情都要自己动手了。

原因是 LNMP 禁用了 scandir 函数。搜索一番发现是军哥的LNMP从0.9版本开始禁用了 scandir 函数,导致了 wordpress 无法缓存主题列表。所以后台无法显示安装好的 wordpress 主题,只显示当前使用的一个主题。解决方法就是把禁用的scandir函数恢复就可以了。

解决 WordPress 主题无法识别的方法:

用 putty 或者 SFTP 工具登陆到服务器
找到 php.ini,一般在服务器的 /usr/local/php/etc 目录中
打开 php.ini,查找其中的 "disable_functions" 字样,然后删除后边的 “scandir”,最后保存该文件;

重启服务器的 php 服务后方可生效(不懂的话就直接通过管理后台重启服务器也行)。

如果你和 Forece 一样用的是 lnmp 的话,那么直接用下边这条命令重启 Apache 即可
lnmp restart

更多 LNMP 命令请参考官网链接:
https://lnmp.org/faq/lnmp-status-manager.html

如果你是 nginx 或者独立安装的 Apache,那么用下边这两条重启试试
nginx: /etc/init.d/php-fpm restart
apache: /etc/init.d/httpd restart