Q1:初步搭建成功后,WP插件无法安装(error:“无法创建文件”)

A1:报错的原因是第三方用户对服务器文件访问(写入)权限不够。

解决方法:在终端中运行以下命令,查询已有的一些用户名:

cat /etc/passwd

一般会出现一个用户名后面对应的是Apache2或者WordPress的根目录,将这个用户名记住,对其进行权限提高:

chown -R 用户名 被操作的路径    
//比如在我这儿需要这样写 chown -R www-data /var/www/html/wp-blog/wp-content

【踩坑⚠警告】自己查过网上其他的一些比较老的资料,说对 www 或者 www:www 用户名进行权限提高,但实际上终端会返回一个error:invaid user。

PS:还有第二个方法~(但不一定会起效)在 wp-blog目录下的wp-config.php中添加三行代码:

define("FS_METHOD","direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);

反正我最终是通过第一个方法解决的~

Q2:一切按照正规方法搭建完博客以后,却发现非常重要的功能——可视化自定义主题——不知为何无法正常使用,同时还伴有其他与图片/音频上传、媒体库显示等异常

具体表现为:进入自定义页面以后,只显示博客名,小工具、组件、实时预览均没有显示,一片空白;小工具处的图片、音频工具下没有添加按钮;文章编辑页面没有添加图片的接口等。

A2:出错的原因大概率是(至少我的是)因为你的服务器里少了一个必要的Javascript工具库[underscore.js && underscore.min.js](或WP目录下的软/硬链接异常,没有找到该工具库文件)。

解决方法:将

/usr/share/javascript/underscore

路径下的underscore.js 和underscore.min.js 直接复制一份到

/var/www/html/wp-blog/wp-includes/js 

路径下(先把之前的两个无效链接文件删除,这里不建议重新ln链接)。之后一切问题就都解决啦~

(若上上面那个路径下没有这两个文件,则可以去gitee开源上复制源码~)[链接:https://gitee.com/mirrors/underscore/tree/master]


「2021.10.09补充」

今天发现Wordpress莫名其妙地又不能写入这两个js了,但../wp-includes/js/路径下明明有这两个js。摸索了一会儿发现,原来是这两个文件的权限不对劲,是Wordpress没有权限进行读写造成的(但为什么突然出问题,这个我也不清楚,反正我没动过它2333)。

暴力的解决方法:

直接把这些js文件的所有权限开放给所有用户:

chmod -R 777 ../wp-includes/js/

嗯,这样就没问题了。如果页面显示还是没有这两个js的样子,那就换个浏览器试试,亲测MacBook的Safari不行,换成Chrome或者iPhone的Safari就可以了……应该是js文件被浏览器拦截了……奇奇怪怪=-=


【踩坑⚠警告】网上关于这个错误的解决提议貌似只有重装和在 wp-blog目录下的wp-config.php文件中添加下面这两行代码:

require_once( ABSPATH . 'wp-settings.php' );
define('CONCATENATE_SCRIPTS',false);

但我的多次调试与实践证明,这些方法均不能解决问题。

尾声:

怎么样?是不是感觉解决起来挺简单的?

唉……可我自己摸索、查文档、看网页源码调试了半天才发现问题的根源QAQ

解决不易,如果对你有帮助的话,希望能给个大大的赞~感谢~


A Student on the way to full stack of Web3.