帝国cms7.5在php7下需要修改的地方
php7 有很多地方不再兼容低版本。对于帝国cms7.5来说,受影响最深的就是编码转换了。6x4四川养殖网
6x4四川养殖网
在php7的地盘,PHP4的语法风格中的一些东西将被被抛弃。例如构造函数的用法,会在新的PHP7中完全被抛弃。PHP7将会提示一个: E_DEPRECATED的错误提示。6x4四川养殖网
<?php6x4四川养殖网
class foo {6x4四川养殖网
//方法名类名相同的构造函数的用法不再兼容6x4四川养殖网
function foo() {6x4四川养殖网
echo 'I am the constructor';6x4四川养殖网
}6x4四川养殖网
}6x4四川养殖网
?>6x4四川养殖网
6x4四川养殖网
翻遍帝国cms7.的源代码,帝国cms的编码转换文件e/class/doiconv.php,有多处不适应php76x4四川养殖网
6x4四川养殖网
可能受影响的模块: 6x4四川养殖网
6x4四川养殖网
支付--- http://bbs.phome.net/ShowThread/?threadid=360357&forumid=42 6x4四川养殖网
6x4四川养殖网
6x4四川养殖网
搜索 --- http://bbs.phome.net/ShowThread?threadid=360428&forumid=426x4四川养殖网
6x4四川养殖网
首字母生成---- http://bbs.phome.net/ShowThread?threadid=361442&forumid=136x4四川养殖网
6x4四川养殖网
增加栏目生成拼音乱码 --- http://bbs.phome.net/ShowThread/?threadid=357442&forumid=42 6x4四川养殖网
6x4四川养殖网
本着少改的原则,提出如下修改办法---6x4四川养殖网
6x4四川养殖网
6x4四川养殖网
针对 e/class/doiconv.php 文件6x4四川养殖网
6x4四川养殖网
6x4四川养殖网
6x4四川养殖网
2.1 查找 function Chinese($dir='./') 6x4四川养殖网
6x4四川养殖网
修改为 6x4四川养殖网
6x4四川养殖网
function __construct($dir='./')6x4四川养殖网
2.2 查找 6x4四川养殖网
$this->config['codetable_dir'] = $dir."../data/codetable/";6x4四川养殖网
修改为6x4四川养殖网
6x4四川养殖网
$this->config['codetable_dir'] = ECMS_PATH."e/data/codetable/";6x4四川养殖网
2.3 查找6x4四川养殖网
6x4四川养殖网
/* 如果编码相同,直接返回 */6x4四川养殖网
if ($source_lang == $target_lang || $source_string == '')6x4四川养殖网
{6x4四川养殖网
return $source_string;6x4四川养殖网
}6x4四川养殖网
6x4四川养殖网
6x4四川养殖网
在其后添加:6x4四川养殖网
6x4四川养殖网
//edit by jiuhecai6x4四川养殖网
return mb_convert_encoding($source_string,$target_lang,$source_lang);6x4四川养殖网
2.4 查找6x4四川养殖网
6x4四川养殖网
while(list($key,$value)=each($tmp))6x4四川养殖网
6x4四川养殖网
替换为:6x4四川养殖网
foreach($tmp as $key=>$value)6x4四川养殖网
6x4四川养殖网
邮件发送模块,也有类似的问题6x4四川养殖网
6x4四川养殖网
邮件发送模块 e/class/class.smtp.php6x4四川养殖网
6x4四川养殖网
问题表现: http://bbs.phome.net/ShowThread/?threadid=357544&forumid=42 6x4四川养殖网
6x4四川养殖网
解决方案:6x4四川养殖网
6x4四川养殖网
修改e/class/class.smtp.php6x4四川养殖网
6x4四川养殖网
3.1 查找 function SMTP() {6x4四川养殖网
修改为6x4四川养殖网
function __construct() {6x4四川养殖网
3.2查找 while(list(,$line) = @each($lines)) {6x4四川养殖网
6x4四川养殖网
修改为:6x4四川养殖网
foreach($lines as $line){6x4四川养殖网
6x4四川养殖网
3.3查找 while(list(,$line_out) = @each($lines_out)) {6x4四川养殖网
6x4四川养殖网
修改为6x4四川养殖网
foreach($lines_out as $line_out){6x4四川养殖网
6x4四川养殖网
6x4四川养殖网
3.4 查找 while(list(,$l) = @each($entries)) {6x4四川养殖网
修改为6x4四川养殖网
6x4四川养殖网
foreach ($entries as $l){6x4四川养殖网
6x4四川养殖网
[ 四川养殖网 https://www.46659.com ]
上一篇: 帝国CMS7.2完善多终端访问功能,让网站
下一篇:/usr/local/mysql/libexec/mysqld: T