帝国cms7.5在php7下需要改进的地方 - 帝国cms教程

时间:2023-08-08 16:33 浏览:0 评论:0
0

1. 如何方便的在PHP7和其他版主中自由的切换帝国CMS

  //数据库设置

  $eCMS_config['db']['usedb']='mysql'; //数据库类型

  if(PHP_VERSION>6.9)$ecms_config['db']['usedb']='mysqli';

  或者 两句合并成一句

  $ecms_config['db']['usedb']=PHP_VERSION>6.9?'mysqli':'mysql';

  php7 有很多地方不再兼容低版本。对于帝国cms7.5来说,受影响最深的就是编码转换了。

  在php7的地盘,PHP4的语法风格中的一些东西将被被抛弃。例如构造函数的用法,会在新的PHP7中完全被抛弃。PHP7将会提示一个:E_DEPRECATED的错误提示。

  classfoo{

  //方法名类名相同的构造函数的用法不再兼容

  functionfoo(){

  echo'Iamtheconstructor';

  }

  }

  ?>

  翻遍帝国cms7.的源代码,帝国cms的编码转换文件e/class/doiconv.php,有多处不适应php7

  可能受影响的模块:

  支付--- http://bbs.phome.net/ShowThread/?threadid=360357&forumid=42

  搜索 --- http://bbs.phome.net/ShowThread?threadid=360428&forumid=42

  首字母生成----http://bbs.phome.net/ShowThread?threadid=361442&forumid=13

  增加栏目生成拼音乱码 ---http://bbs.phome.net/ShowThread/?threadid=357442&forumid=42

  本着少改的原则,提出如下修改办法---

  针对 e/class/doiconv.php 文件

  2.1 查找 function Chinese($dir='./')

  修改为

  function __construct($dir='./')

  2.2 查找

  $this->config['codetable_dir'] = $dir."../data/codetable/";

  修改为

  $this->config['codetable_dir'] = ECMS_PATH."e/data/codetable/";

  2.3 查找

  /* 如果编码相同,直接返回 */

  if ($source_lang == $target_lang || $source_string == '')

  {

  return $source_string;

  }

  在其后添加:

  //edit by jiuhecai

  return mb_convert_encoding($source_string,$target_lang,$source_lang);

  2.4 查找

  while(list($key,$value)=each($tmp))

  替换为:

  foreach($tmp as $key=>$value)

  邮件发送模块,也有类似的问题

  邮件发送模块 e/class/class.smtp.php

  问题表现:http://bbs.phome.net/ShowThread/?threadid=357544&forumid=42

  解决方案:

  修改e/class/class.smtp.php

  3.1 查找function SMTP() {

  修改为

  function __construct() {

  3.2查找 while(list(,$line) = @each($lines)) {

  修改为:

  foreach($lines as $line){

  3.3查找 while(list(,$line_out) = @each($lines_out)) {

  修改为

  foreach($lines_out as $line_out){

  3.4 查找 while(list(,$l) = @each($entries)) {

  修改为

  foreach ($entries as $l){

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 帝国CMS > 帝国cms7.5在php7下需要改进的地方 - 帝国cms教程

用户评论