当前位置:首页 办公学习 如何使emlog支持PHP7.0+

如何使emlog支持PHP7.0+

  • 内容
  • 评论
  • 相关
服务器PHP从5.6升级到7.0+后,打开emlog会报错,提示服务器不支持mysql数据库。这是由于emlog久不更新,已经不支持php7.0及以上的版本了,还在用emlog的小伙伴需要修改以下5处,使emlog继续存活:

//———–第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””;

P.s:有些插件和主题是固定了使用mysql连接类,这样还需要修改插件和主题中的数据库连接方式,不然也会报数据库错误。
比如$DB = MySql::getInstance();
都要改为$DB = Database::getInstance();

将include/lib/function.base.php 第7-18行
function __autoload($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 . '加载失败。');
}
}
改成
function emAutoload($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 . '加载失败。');
    }
}
同时将install.php、init.php的分别第11/16行doStripslashes();前加spl_autoload_register("emAutoload");
   即spl_autoload_register("emAutoload");doStripslashes();


正文部分到此结束

本文标签:

版权声明:若无特殊注明,本文皆为《怀旧o猫》原创,转载请保留文章出处。

本文链接:如何使emlog支持PHP7.0+ - https://www.shaozc.com/post-91.html

所有软件均经ESET NOD32 8.0安全检测,请放心下载!

如何使emlog支持PHP7.0+

发表评论

电子邮件地址不会被公开。必填项已用*标注

表情 私密 图片 链接 代码 打卡