记录服务器维护问题 LNMP环境无法显示所有WordPress主题及无法编辑主题页面

自然 2018年1月5日15:37:34 评论 283

今天把网站从apache搬迁到了nginx上,可谓是一波三折啊。一开始就是权限组被定义到了root,纠正权限组后惊奇的发现wordpress后台的主题显示不全,只能显示当前的默认安装程序的一款主题。,主题无法编辑的问题。简直是一个头两个大啊。

权限不对我们直接用命令纠正

chown -R www:www /home/wwwroot/

-R是设置规则递进到所有子目录及文件

www:www是www用户组下的www用户,这一条一般默认即可,因为一般软件NGInx运行都是www用户

/home/wwwroot/是网站路径,这个根据自己的网站路径修改即可使用

一番设置后,网站权限就能被纠正回来,运行就不会提示请将权限设置为755或775或777了。

主题显示不全是函数的问题

主题显示不全及主题文件无法修改,看了WordPerss文档后发现是php函数被禁用惹的麻烦。这里就涉及到了scandir()这个函数,函数scandir扫描dir目录下(不包括子目录)满足filter过滤模式的文件,返回的结果是compare函数经过排序的,并保存在namelist中。注意namelist是通过malloc动态分配内存的,所以在使用时要注意释放内存。alphasort和versionsort是使用到的两种排序的函数。

既然知道了问题所在那就好修改了,只需要在php.ini文件中启用scandir()函数即可。

首先判定php.ini文件所在目录,可以在网站目录下新建一个test.php文件,将下面代码填入文件中

  1. <?
  2. phpinfo();
  3. ?>

然后在浏览器上运行http://你的域名/test.php

你会惊奇的发现它自动列出了php.ini的所在。

我们直接在vim编辑器编辑即可

vim /usr/local/php/etc/php.ini

找到disphp_funcations 就能看见scandir()函数,只需要在这行配置参数中删除scndir即可。

最后重启php-rpm,再次进入就可以看见完整的主题展示了。

weinxin
网科文媒
快来关注一下,你想要的这里都有喔!
自然

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: