# 无法连接 MySQL 数据库
PHP 异常抛出: The server requested authentication method unknown to the client MySQL8.0 之后对密码校验方式做了更改, WordPress 没有支持那么这么高的版本 解决方案:
- (可选) 将
MySQL增加到系统变量,路径为C:\Program Files\MySQL\MySQL Server 8.0\bin - 打开终端,输入
mysql -u root -p, 并输入密码 - 输入
alter user 'root'@'localhost' identified with mysql_native_password by '******';来更改密码校验方式 - 重启
MySQL服务端
# mysql_connect 函数过时
PHP 异常抛出: 'mysql_connect' was removed in 7.0 PHP version 连接数据库的 mysql_connect 函数在 PHP7.0+ 之后就被舍弃了,使用 mysqli_connect 代替 解决方案:
- 打开 PHP 服务端文件夹,若不存在
PHP.ini则手动创建一个 - 启用
mysqli扩展,在文件内写入extension = php_mysqli.dll - 修改这个出错位置的
mysql_connect为mysqli_connect
# 本地博客响应速度过于缓慢
由于开启了 XDebug 插件,去除即可 另外一提,网友有说数据库连接配置中的 localhost 改为 127.0.0.1 之后速度会有提示 再说一嘴,数据库使用本地数据库(对,我一开始就是用的云数据库)会快很多
# 例行维护,一分钟后重试
若未开启代理,更新过程中由于过于缓慢,就会导致这样 解决方案:
- 删除
WordPress根目录的.maintenance文件 - 挂上代理
# 通过 http 代理
1 | wp-config.php |
# 主题无法拉取 QQ 号头像与昵称
评论输入 QQ 号后,无法拉取头像与昵称,PHP 后台报错: Uncaught Error: Call to undefined function Sakura\API\mb_convert_encoding() 由于 PHP 配置中未启用 mbstring 插件,此编码函数无法启用。 解决方案:
- 打开 php.ini
- 输入
extension=php_mbstring.dll
# 上传大小被限制在 2mb
解决方案:
打开
php.ini输入以下字段
1
2
3upload_max_filesize = 50M
post_max_size = 50M
max_execution_time = 300
# 主题自带的时光轴页面
新建页面,右侧选择页面类型 - 时光轴,之后再随便打个标题
# 媒体库无法编辑图片
缺少 GD 图片扩展,增加配置 extension=php_gd2.dll
# 中文路径 404 问题
结果是否长久有效有待查看 原因是中文被 URL 编码,脚本在进行替换时无法正确识别中文 wp-inlcudes 文件夹下的 class-wp.php 的第 179 行附近
1 | $req_uri = str_replace( $pathinfo, '', $req_uri); |
ps:假如是 IIS 环境,需要对参数进行转码 gbk->utf-8 ,详情见另一篇文章
# 断!点!调!试!
去 tmd PHPStorm
# 必须的文件
- XDebug
- VSCode
# 关于 XDebug 配置文件
在 php.ini 中添加以下字段:
1 | [xdebug] |
保存后重启 PHP 服务器
# VSCode 要做的事情
- 打开博客根目录文件夹
- 安装插件
PHP-Debug - 点击
启动或调试中的添加配置,在弹出的菜单中选择PHP - 自动添加一个
launch.json, 直接保存 - 点击左上角的绿色三角,启动调试
- 下断点,愉快调试
(ps: 不知道是 PHP 的特性还是什么的,调试时表达式的值无法直接更改) (pps: 不得不吐槽的就是 PHPStorm , 硬生生干了一上午都不能调试,各种教程看了一箩筐,官方文档也都看了,就是 tm 不能断点,还是人家 VSCode , 两分钟就能调试了,哎……)