威言威语
我愿像茶,苦涩留心,清香予人。
威言威语
当前位置: 首页 > 设计 > 正文

nginx下WordPress只显示一个默认主题

用lnmp一键安装包在阿里云服务器架了一个博客站,安装完WordPress之后,准备给博客换一个主题,但是在后台只显示一个主题,其他官方主题都不显示了。开始以为是文件夹权限问题,重新设置了下发现还是只显示一个主题,后来通过搜索发现原来是php.ini禁止了scandir函数。
nginx下WordPress只显示一个默认主题

用lnmp一键安装包在阿里云服务器架了一个博客站,安装完WordPress之后,准备给博客换一个主题,但是在后台只显示一个主题,其他官方主题都不显示了,刚开始以为是wordpress新版本的问题,不管安装什么主题都只显示一个,安装同一个提示安装的目录有存在。

开始以为是文件夹权限问题,重新设置了下发现还是只显示一个主题,后来通过搜索发现原来是php.ini禁止了scandir函数。

翻看php手册,scandir() 函数是这样被定义的:“scandir() 函数返回一个数组,其中包含指定路径中的文件和目录”,wordpress可能居于这个函数去开发的,所以就只显示了一个主题。

由于我装的是lnmp的安装包,其中禁用了部分危险函数:“passthru, exec, system, chroot, scandir, chgrp, chown, shell_exec, proc_open, proc_get_status, ini_alter, ini_alter, ini_restore, dl, pfsockopen”,而scandir函数也在此列,所以这样问题的解决方法只能是将scandir从禁用函数剔除就可以了。

我们可以通过登录到winscp或是putty来修改/usr/local/php/etc下的php.ini文件,然后重启一下php进程“/etc/init.d/php-fpm restart”就可以了。

您可能还会对这些文章感兴趣!

nginx下WordPress只显示一个默认主题:目前有 7 条评论

  1. 佐仔
    6楼
    佐仔:Google Chrome 38.0.2125.104 Windows 8.1

    个人博客,还是虚拟主机好,VPS难得折腾了。

    2014-10-25 01:05 回复
  2. 牛犊网
    5楼
    牛犊网:Google Chrome 30.0.1599.101 Windows 7

    原来如此,感谢站长分享。

    2014-10-23 15:42 回复
  3. 非凡站长博客
    4楼
    非凡站长博客:Google Chrome 35.0.1916.114 Windows 8.1

    我们一直都用面板 连一件包都没用过

    2014-10-20 00:28 回复
  4. jacksuc
    地板
    jacksuc:Google Chrome 37.0.2062.124 Windows 7

    又在瞎折腾。! :grin:

    2014-10-08 17:31 回复
  5. luopang
    板凳
    luopang:桔子浏览器 Windows 8

    这问题我也遇到了,不过我解决的办法倒是很笨,直接去主题目录把除去默认主题以外的文件包删掉,然后重新安装主题,直接选择激活,就可以了。

    2014-09-29 07:32 回复
    • 今天没吃药
      今天没吃药:Google Chrome 31.0.1650.63 Windows 7

      @luopang楼上luopang的方法可以解决这个问题,我也用过!!

      2015-01-09 16:04 回复
  6. Eric_plus
    沙发
    Eric_plus:猎豹浏览器 Windows 7

    默认主题不使用的话,还是禁用scandir()

    2014-09-28 21:32 回复

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

gravatar

question razz sad smile redface biggrin eek shock confused cool lol mad rolleyes wink cry