emlog 5.3.1版本不支撑php7+,在php7下装置emlog会涌现多个差别的毛病,从而没法继续举行装置,也就没法运用。因而要在php7上运用emlog 5.3.1,就得经由过程修正emlog程序源代码来完成。
修正步骤:
1、编辑文件include\lib\function.base.php,找到代码(第7行摆布)
1 | function __autoload($class) { |
修正为
1 | spl_autoload_register(function($class) { |
申明:__autoload()函数在php7中已烧毁,在emlog装置界面会涌现Deprecated提醒
2、编辑文件include\lib\option.php,找到代码(第11行摆布)
1 | const DEFAULT_MYSQLCONN = 'mysql'; |
修正为
1 | const DEFAULT_MYSQLCONN = 'mysqli'; |
申明:装置emlog时,输入mysql数据库信息举行装置,会涌现“服务器空间PHP不支撑MySql数据库”的提醒。这是因数php7已不支撑mysql扩大,但支撑mysqli和pdo_mysql,因为emlog 5.3.1支撑mysqli衔接类,所以此处修正为mysqli。
3、编辑文件include\lib\database.php,删除代码(第16行)
1 | default : |
申明:删除或解释掉都能够
4、编辑文件include\lib\cache.php,修正代码(第195行摆布)
1 | $$row['option_name'] = $row['option_value']; |
修正为
1 | ${$row['option_name']} = $row['option_value']; |
5、编辑文件include\lib\passwordhash.php,修正代码(第42行摆布)
1 | function PasswordHash($iteration_count_log2, $portable_hashes) |
修正为
1 | function __construct($iteration_count_log2, $portable_hashes) |
申明:php7中组织函数的称号不能和类称号雷同
至此,运用emlog默许主题的状况下,emlog 5.3.1已能够在php 7+版本上一般运行了。假如运用的黑白默许主题,则大概须要修正数据库链接的体式格局等,如
1 | $DB = MySql::getInstance(); |
修正为
1 | $DB = Database::getInstance(); |
PS:根据Emlog的更新状况,实在现在并不发起新网站运用Emlog,能够考虑一下Z-Blog或WordPress。
原文地点:https://www.boke8.net/emlog-5-3-1-php-7.html

评论列表