首页 > 代码学习

PHP7下安装Emlog5.3.1

发布时间:2016-01-21 00:19:46 来源:星知苑 作者:星之宇

PHP7出来一段时间了,据说PHP7可以性能翻倍。而且我的服务器上也已经开通了PHP7,就开始折腾下Emlog5.3.1。

 

直接在php7安装emlog5.3.1各种报错。emlog5.3.1虽然已经出了使用mysqli连接类,但是为了兼容性还是默认是使用了mysql。因为PHP7已经不支持mysql扩展了,但是支持mysqli和pdo_mysql。所以这里还是介绍如何使用mysqli来安装emlog。

 

以下是修改emlog安装程序,无报错安装。如果是实际环境请在本地环境模拟后成功后再更换。

1、修改includeliboption.php,大概11行修改为mysqli[break]

	//默认MySQL链接方式,mysql或mysqli
	const DEFAULT_MYSQLCONN = 'mysql';
改为
	const DEFAULT_MYSQLCONN = 'mysqli';//默认链接方式改为mysqli

2、修改includelibdatabase.php,大概16行删除default:

            case 'mysql':
            default ://这边需要删除default:

3、修改includelibcache.php,大概195行加大括号

 

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

By 2018-3-14

4、PHP版本最近更新的比较快,autoload自动加载函数会报错,function.base.php开头的__autoload函数修改如下

 

spl_autoload_register(function($class) {
	$class = strtolower($class);
	if (file_exists(EMLOG_ROOT . '/include/model/' . $class . '.php')) {
		require_once(EMLOG_ROOT . '/include/model/' . $class . '.php');
	} elseif (file_exists(EMLOG_ROOT . '/include/lib/' . $class . '.php')) {
		require_once(EMLOG_ROOT . '/include/lib/' . $class . '.php');
	} elseif (file_exists(EMLOG_ROOT . '/include/controller/' . $class . '.php')) {
		require_once(EMLOG_ROOT . '/include/controller/' . $class . '.php');
	} else {
		emMsg($class . '加载失败。');
	}
});

PS:暂时就发现这么些地方要修改的,还有部分插件写死了数据库链接方式。需要修改,不然直接报数据库错误。

比如:$DB = MySql::getInstance();改为$DB = Database::getInstance();等等。

2.jpg

相关合集

  • 购物实惠的软件有哪些?
购物实惠的软件有哪些?

简介:随着社会的不断的进步传统的买东西,都是可以直接在手机上进行购买非常的方便生活,不仅有吃的有喝的还有各种不同种类的生活用品,家电用品等等,本站分享一些比较多人使用的,在上面买东西是非常的实惠价格很便宜还是可以给你保证正品的购物软件推荐。