解决EMLOG5.3.1不兼容PHP7环境的办法

2019-8-10 / 0 评论 / 1026 阅读
注意:本文最后更新于2019-8-10,已超半年没有更新,若内容或图片失效,请留言反馈。

很多在使用EMLOG 5.3.1版本的站长都经知道,在PHP7环境下安装EMLOG 5.3.1会提示服务器空间PHP不支持MySql数据库,今天分享一些解决办法。

实际上EMLOG 5.3.1版本>虽然也支持mysqli连接类,但为了兼容性还是使用了MySql数据库,毕竟PHP7不支持MySql扩展,但支持MySqli和Pdo_MySql。

一、操作办法

1.打开/include/lib/option.php,大约在11行位置//默认MySQL链接方式,mysql或mysqli

找到

const DEFAULT_MYSQLCONN = 'mysql';

改为

const DEFAULT_MYSQLCONN = 'mysqli';

2.在/include/lib/cache.php,大约在195行

找到

$$row['option_name'] = $row['option_value'];

改为

${$row['option_name']} = $row['option_value'];

3.在admim/seo.php,大约在15行、19行共两上

找到

$$t 

改为

${$t} 

4.在admim/views/admin_log.php,大约在86行、88行、90行共三个

找到

$$a
$$b
$$a

改为

${$a}
${$b}
${$a}

5.在admim/views/comment.php,大约在18行

找到

$$a = "class=\"filter\"";

改为

${$a} = "class=\"filter\"";

二、注意事项

很多博客使用的插件和主题都固定使用MySql的独立查询语句,而并未使用EMLOG自带的MySql::getInstance();,因此还需要耐心处理插件和主题中的数据库连接方式,否则就会出现数据库报错。

因此,建议您同时修改插件和主题中的数据库连接方式,比如:$DB = MySql::getInstance(); 都要改为$DB = Database::getInstance();

最后,再度提醒您在进行上述操作之前最好是现在本地环境进行测试,防止线上修改报错影响您网站的正常运转。

评论一下?

OωO
取消