我在2022年6月28日将自己的博客服务从 zblog 切换到了 Typecho,在安装期间遇到了一点小问题。

考虑到方便迁移的因素,我选择使用 sqlite 作为博客的数据库。但是我在尝试安装 Typecho 1.2.0 的时候服务器不断报错,显示“确认您的配置”。
确认您的配置

在 Google 上搜索,给出的解决方案都是更改PHP的配置 output_buffering = on,比如这里这里。很明显,这是一个被转载烂了的文章。

我尝试使用这个方法,但是问题没有解决。我又尝试给 PHP 安装缺少的插件,问题也没有解决。最终,我决定去 GitHub Typecho repoissues 里看一下有没有类似的问题。

我发现这个问题在 1.2.0 发布的当天就被发现了,issues地址为https://github.com/typecho/typecho/pull/1357。导致问题的原因是 Typecho 安装路径中有字符点“.”,而负责校验 sqlite 路径的正则不允许路径中有点存在。宝塔面板创建的站点路径默认是其站点基础路径(在linux上默认是 /www/wwwroot)+站点域名,比如我的 Typecho 安装路径就为 /www/wwwroot/blog.tursom.cn,这个路径是无法通过校验的。

这个 bug 已经在 PR 1357 被修复,如果不出意外将会在下个发布版改正。而在下个 Typecho 发布版发行之前,我们有以下几种修复方式:

1. 手动合并PR 1357的更改

找到你的 Typecho 安装路径,修改 install.php 的第 1025 行为:

return !!preg_match("/^(\/[._a-z0-9-]+)*[a-z0-9]+\.[a-z0-9]{2,}$/i", $path);

2. 跳过 sqlite 路径校验

或者,如果你对你的数据有信心,你可以跳过这个校验。同样是 install.php 的第 1025 行:

return true;

这样,你就可以正常的安装 Typecho 到 sqlite 了。

标签: none

添加新评论