解决EMLOG5.3.1不兼容PHP7环境的办法
很多在使用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();
最后,再度提醒您在进行上述操作之前最好是现在本地环境进行测试,防止线上修改报错影响您网站的正常运转。