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

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

“`
#file: index.php
define(‘__TYPECHO_DEBUG__’,true);//add by http://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两种适配器,如图:

![014BEBCA-B593-4503-8D8E-FE78CA007DEE.png][2]

既然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`的值。

[1]: https://www.typechodev.com/case/Typecho%E6%95%B0%E6%8D%AE%E5%BA%93%E9%94%99%E8%AF%AFDatabase-Query-Error%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95.html
[2]: https://www.typechodev.com/usr/uploads/2017/12/3239252626.png

原创文章,作者:admin,如若转载,请注明出处:https://www.typechodev.com/case/861.html

(0)
上一篇 2017-11-30 上午1:25
下一篇 2017-11-30 上午7:05

相关推荐

  • 【推荐】AMP插件For Typecho

    这可能是全网第一个适用于typecho的amp插件。 amp是google推出的适用于移动网页端的加速技术标准,目前百度已经宣告支持。希望在移动端大展手脚而且希望能够获得移动权重的…

    案例分析 2022-04-20
  • Tyecho如何支持大数据?

    所谓“大数据”,当然不是平时所说的大数据啦!Typecho作为一个博客程序,当然不适合用作几百T数据的展示前台。 但偶然情况下,可能希望用typecho这个简单的平台来代替公司内部…

    案例分析 2015-06-30
  • 快速找到typechodev官网(typechodev.com)的几种办法

    常言道:有老司机,不迷路。今天跟大伙讲讲怎么在茫茫的互联网中找到本站。 **方法如下:** – 1.收藏本站的首页。一般在浏览器的右上角或者左上角的按钮,快捷方式为:c…

    案例分析 2017-02-28
  • Typecho修改管理员账号登录密码的方法-Typecho 1.0 版本亲测有效

    > 今天发现站点的后台密码忘记了,试了很多密码都未能成功。虽然脑海中出现一些修改的方式,比如直接看源码后然后模拟源码的方法后重置一个。这里偷懒了下,先贴出别人的办法,然后再说说修改…

    案例分析 2017-02-28
  • typecho更换语言教程

    **胡扯** 90年代讲究下海,也就是很多人不在政企国企工作而选择到一线城市奋斗,从事资本路线的工作。那些下海的人成了第一批吃螃蟹的人,时至今日,那一批人都发了。而最近这几年,国内…

    案例分析 2017-03-31
  • typecho-seo优化之图片索引篇

    看到标题会不会有人很诧异呢?我刚开始接触SEO的时候也很差异,不过看完google的seo优化文档以后茅塞顿开。图片索引其实占有很大的比重,江湖传言:有图的文章和无图的文章在搜索引…

    案例分析 2017-02-28
  • typecho-seo优化之通过自定义字段优化keyword和description篇

    今天咱们来谈谈怎么自定义`typecho`的`keyword`和`description`,以此达到优化seo的目的。 **默认keyword和description** `typ…

    案例分析 2017-02-28
  • 开启mysql查询日志,排查typecho安装问题

    很多时候,安装typecho或者调试模板插件的时候,需要查看mysql查询语句。最简单的方法就是直接打开mysql的查询log,即可在不修改代码的情况下,观察运行效果。 下面使用u…

    案例分析 2017-03-21
  • Ubuntu 14.04升级mysql到5.7

    Ubuntu 14.04默认安装的是5.5的mysql版本。如果希望用5.7的特性,则需要对mysql进行升级。 默认情况下,apt是无法直接升级到mysql5.7的,需要额外配置…

    案例分析 2016-11-30
  • 快速定位typecho问题的简单方法汇总

    很多同学在安装typecho之后,经常出现各种奇怪的问题,想定位问题却无从下手。本文简单列举一下定位web程序问题的简单方法。 ### 首先,确保你的请求已经走到服务器这个是定位问…

    案例分析 2017-02-28

发表评论

您的电子邮箱地址不会被公开。