WordPress 问题汇总2

重装系统重新部署了一遍环境,花了四个多小时,期间又遇到很多问题;有一些是第一次部署时就遇到了,但是没有整理出来,导致还是需要去网上搜解决方案;所以把这次遇到的问题、需要注意的点整理出来,以后好有个参考;“WordPress 问题汇总1”在这里

1、WordPress 子主题

这次把 blog-kit 这个主题更新了,里边的改动都放到了子主题中,子主题具体具体的开发规范请参考这里;基本没什么难度,按照文档来就行了;

子主题中,文件覆盖关系大体是这样:

style.css: 唯一必须的文件,会覆盖主题中的样式,所以最好用 @import 导入主题的样式
functions.php: 不会覆盖主题下的 functions.php,相当于父子主题的两个文件合并;
其他文件: 覆盖

有一点需要注意,如果子主题中修改了主题 inc 文件夹下的内容,需要在子主题的 functions.php 中“覆盖”掉主题的引用,因为 inc 下的文件是在 functions.php 中动态引用的;

# 覆盖 template-tags模板
require get_template_directory() . '../../blog-kit-child/inc/template-tags.php';

*子主题中 functions.php 的 require 并不是覆盖了父主题中的 require,具体原理不太懂,官方文档里是这样描述的:

不像style.css,子主题中的 functions.php 不会覆盖父主题中对应功能,而是将新的功能加入到父主题的 functions.php 中。(其实它会在父主题文件加载之前先载入。)

2、切换数据库后报错:“Error Establishing a Database Connection”

如果是按照这个教程配置的,在 WordPress 中将数据库切换到了新建的库,访问页面报上面这个错,很可能是当前使用的数据库用户没有新库的权限;因为按照这个教程,给数据库用户配置数据库权限,只配置了一个 wordpress 数据库,需要给这个新库(比如叫 wordpress1)增加权限;

GRANT ALL PRIVILEGES ON wordpress1.* TO wordpressuser IDENTIFIED BY"password123";

访问 wordpress 页面报错,可以把 wp-config.php 中 define(‘WP_DEBUG’, false); 的 false 改为 true,开启 debug 模式,重新访问页面就会有详细的错误信息,然后就可以根据关键字搜索解决方案了;

3、phpmyadmin

1、phpmyadmin 中,默认导入文件是2M

解决方案在“WordPress问题汇总1”中;

2、phpmyadmin 中,导入压缩包,提示不支持

安装一下解压包就可以了

sudo apt-get install php7.0-zip

4、SSH 登录失败

这是因为SSH服务重装了,对应的 key 失效了;解决方案:

sudo nano ~/.ssh/known_hosts

打开 known_hosts 后,将 132.xx.xx.209 这个 ip 对应的一行删掉就可以了;

ssh 登录命令:ssh 用户名@服务器ip;

5、配置文件地址

这里的配置文件地址,是指按照腾讯官方文档安装后,各配置文件的地址,系统环境为 Ubuntu Server 16.04.1 LTS 64位,Web 服务器为 apache2,PHP 为 7.0;

Apache2 地址:/etc/apache2/

PHP地址:/etc/php/7.0/

phpmyadmin: /usr/share/phpmyadmin

1、修改固定链接

/etc/apache2/apache2.conf;

2、修改/新增 http 端口

/etc/apache2/sites-available/000-default.conf;

3、修改主目录(DocumentRoot)

/etc/apache2/sites-available/000-default.conf

4、启用HTTPS

/etc/apache2/sites-available/default-ssl.conf;

/etc/apache2/mods-enabled/env.load,该文件中包含这句代码:LoadModule env_module /usr/lib/apache2/modules/mod_env.so,有的教程里,说要注释这句代码,实际我没有注释,也能正常运行;

5、修改上传文件大小,导入或在 phpmyadmin 中恢复数据时可能用到

/etc/php/7.0/apache2/php.ini

/usr/share/phpmyadmin/import.php

1.6、FTP 相关配置

/etc/vsftpd.conf

6、常用命令

1、根据文件名查找文件所在地址,可以用这个命令:find /etc -name php.ini;
表示在 /etc 的所有子目录中查找 php.ini 文件;

2、rm  -rf 要删除的文件名或目录:直接删除无需确认

  • -i 删除前逐一询问确认;
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认;
  • -r 将目录及以下之档案亦逐一删除;

3、mv 命令,移动文件或修改名称

  • mv 文件名 文件名:将源文件名改为目标文件名;
  • mv 文件名 目录名:将文件移动到目标目录;
  • mv 目录名 目录名:目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名

mv 目录名 文件名:报错;

mv /usr/student/*  .  移动 usr/student下的所有文件到当前目录;

4、chmod,只记录了常用的两个,其他参数也就不整理了

chmod -R 777 upload/:修改 upload 文件夹下所有文件、文件夹权限为可读、可写、可执行

chmod 505 upload:修改文件/文件夹为可读、可执行权限

7、安装 FTP

1、安装 vsftpd 服务

sudo apt-get install vsftpd

2、修改配置文件 /etc/vsftpd.conf :

  • pam_service_name=ftp:默认vsftpd,ubuntu里边需要更改成ftp
  • anonymous_enable=NO:拒绝匿名登录,默认就是NO
  • write_enable=YES:设置可以上传文件,不设置只能下载
  • xferlog_enable=YES:开启日志记录
  • xferlog_file=/var/log/vsftpd.log:设置日志文件路径
  • xferlog_std_format=YES:设置日志格式为标准输出
  • utf8_filesystem=YES:utf-8 编码

其他还有 chroot 相关的几个权限相关的设置,都没有用到,因为只有我自己用;

3、创建 FTP 文件夹和用户

// 1、创建用户 user1
useradd -d /home/user1 -s /sbin/nologin user1
// 2、修改密码:
passwd user1
// 3、设置权限:
chmod 777 /home/user1

设置的 FTP 文件夹最好和 WordPress 源码分开,需要上传文件的时候,先传到 FTP 文件夹中,然后用命令 mv 移动或覆盖,这样能减少误操作的风险;

上面的代码中,我设置了一个 user1 用户,可以往 /home/user1 里传东西;

4、重启 vsftpd 服务

sudo service vsftpd restart

如果这篇文章对你有用,可以点击下面的按钮告诉我

0

发表回复