本站致力于分享传播知识!

解决中国服务器安装WordPress的小问题

唉,都是折腾。

备案通过之前,我就通过 OneinStack 安装了LNAMP环境。

介绍一下详细的版本信息:

  • CentOS 7 Linux myserver 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 (最新版)
  • Nginx 1.15.8(最新版)
  • Apache 2.4.38(最新版)
  • MySQL 8.0(最新版)
  • PHP 7.3.1(最新版)

虽然说都不建议使用最新版本的程序于生产环境中,但我还是选择冒险“have a try”.

备案成功后,就立即开始部署最新版的WordPress了,最新的版本是5.0

安装的过程当然十分顺利,但后续有几个小问题新手可能会碰到,来看一下。

一、国内服务器安装后无法连接到WordPress官方服务器

在这种情况下插件、程序更新都会失败,会提示SSL WordPress.org 无法连接,有一种很好的解决方法介绍给大家。

可以使用代理服务器(并非55或55R)

  • 打开 wp-config.php 文件,在底部增加以下代码:
define('WP_PROXY_HOST', 'us.centos.bz');
define('WP_PROXY_PORT', '31281');

这样便解决了国内服务器无法连接WordPress官方服务器的问题。

二、安装好WordPress后无法在线安装插件

提示输入FTP信息,其实这是个坑

我们需要的是利用PHP实现在线安装,并非利用FTP安装,这样极为不方便,所以我们要解决这个问题。

具体解决方法:

  • 使用FTP或SFTP连接服务器,进入WordPress根目录下的wp-content目录,新建tmp文件夹,设置文件夹的权限为0777(这里也有一点小问题,请往下看第三个大标题)
  • 返回网站根目录,找到wp-config.php这个PHP文件进行编辑。
在wp-config.php中添加下列三行代码:
define('WP_TEMP_DIR', ABSPATH.'wp-content/tmp');/* WordPress的临时目录。*/
define("FS_METHOD", "direct");  
define("FS_CHMOD_DIR", 0777);  
define("FS_CHMOD_FILE", 0777);  

注意:要在定义ABSPATH的后面,即在它的后面添加
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');

================================
最后的代码应该是:
if ( !defined('ABSPATH') )
        define('ABSPATH', dirname(__FILE__) . '/');
define('WP_TEMP_DIR', ABSPATH.'wp-content/tmp');
define("FS_METHOD", "direct");  
define("FS_CHMOD_DIR", 0777);  
define("FS_CHMOD_FILE", 0777); 
  • 设置wp-content目录中的plugins(插件)和themes(主题)文件夹权限为0777。

至此,你的插件和主题已经可以在线更新了。为了安全,应在.htaccess中把 tmp、themes、plugin 这些读写权限为0777的文件夹,设置为没有执行权限。

三、 更新提示失败,无法创建目录

提示无法创建目录,原因是执行更新程序的是www用户,而默认的用户组为root,www用户对文件夹没有操作权限而引起出错。

解决方案如下:

编辑组和拥有者(winscp)

只需要编辑用户和组为如图即可解决。

也可以用终端解决,进入此目录,输入:

chown -R www:www ./

即可解决。