推广 热搜: page  关键词  数据分析  服务  数据分析系统  搜索  获取  小红  哪些  链接 

typecho php7.0,php7.0下安装typecho1.0出现Database Server Error解决办法

   日期:2024-12-16     作者:dzre1    caijiyuan   评论:0    移动:https://sicmodule.kub2b.com/mobile/news/8259.html
核心提示:昨天移动网站,在php 7.0的情况下,安装完typecho1.0以后运行,发现Database Server Error的问题。通过本站关

昨天移动网站,在php 7.0的情况下,安装完typecho1.0以后运行,发现Database Server Error的问题。通过本站关于db错误的排查文章《安装typecho后出现数据库错误Database Query Error的解决办法汇总》,我们在根目录下的index.php加入一行调试代码

#file: index.php

define('__TYPECHO_DEBUG__',true);//add by https://www.typechodev.com

加入后再运行,会出现详细的bug 信息,其中最有效的一行bug信息是

Adapter Typecho_Db_Adapter_Mysql is not available

Db的Adapter是连接数据库和驱动之间的适配器(即设计模式里面的适配器),这行提示的意思是:当前Mysql适配器在该环境下已经不适用。通过网友提示,在php 7.0环境下Mysql的链接函数已经被干掉,推荐使用mysqli 或者 pdo,我们打开typecho的源码发现,typecho1.0只有Mysql和Pdo两种适配器,如图

既然Mysql已经废弃,那么只能选用Pdo了。在根目录下找到config.inc.php找到

$db = new Typecho_db("Mysql","typecho_"); //其中Mysql为默认的适配器,typecho_为表前缀

修改为

$db = new Typecho_db("Pdo_Mysql","typecho_");

修改保存后运行,发现成功连接数据库。

注意:修改完毕后记得把index.php调回非debug模式,即define('__TYPECHO_DEBUG__',false); 或者直接删去改行代码。

后续

在源码中,我们看到Pdo的类,笔者刚开始直接填入Pdo这个值,但是会报错

PHP message: PHP Fatal error: Uncaught TypeError: Argument 1 passed to Typecho_Common::exceptionHandle() must be an instance of Exception

所以在适配器的命名上,请填入Pdo_Mysql的值。

本文地址:https://sicmodule.kub2b.com/news/8259.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新资讯
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号