共计 598 个字符,预计需要花费 2 分钟才能阅读完成。
Typecho 有个友情链接插件叫 Links,之前用的好好的,在网站搬家后,想添加个链接,结果提交出现错误:Database Query Error
。
Typecho 默认是关闭 DEBUG 模式的,在出现 500 错误的时候,无法看到具体的错误信息。可以按照下面操作打开 Typecho DEBUG 模式,查看具体的错误信息:
- 打开 Typecho 目录下的 config.inc.php
- 在文件中增加:
define('__TYPECHO_DEBUG__', TRUE);
重新添加链接,结果提交出现错误:SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: for column at row 1
在网上找来找去,开始以为是数据库编码格式问题,就把编码全部改为 utf8mb4,结果发现还是不行。
后来又在网上找到了另外的思路,是由于 MariaDB 默认工作在严格模式下,导致有 NULL 值插入失败,找到问题根源,那就把 MariaDB 严格模式取消了呗。
- 编辑 /etc/my.cnf 文件,在 [mysqld] 配置下新增:
sql_mode=NO_ENGINE_SUBSTITUTION
- 之后重启 MariaDB:
systemctl restart mariadb.service
- 验证是否禁用严格模式,进入 MySQL CLI:
MariaDB [typecho]> select @@sql_mode;
正文完