1 php5.4下安装的时候处理问题,安装时出现:
Strict Standards: Non-static method cls_image::gd_version() should not be called statically in \install\includes\lib_installer.php on line 31
解决:找到install/includes/lib_installer.php中的第31 行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现 gd_version()方法未声明静态static,所以会出错。这时候只要:
将function gd_version()改成static function gd_version()即可。
2 安装好后出现 Warning: require(languages//common.php): failed to open stream: No such file or directory in \includes\init.php on line 120
缓存问题 缺少配置信息 缺少文件temp\static_caches/shop_config.php
经测试在ecshop论坛http://help.ecshop.com/data/backup/ECShop_V2.7.3_UTF8_release1106.rar下载的文件有问题,重新到http://download.ecshop.com/2.7.3/ECShop_V2.7.3_UTF8_release1106.rar 下载后测试没问题。
3 安装好后前台页面出现:
Strict standards: Only variables should be passed by reference in \includes\lib_main.php on line 1329
将:$ext = end(explode(‘.’, $tmp));
修改为:
$ext = explode(‘.’,$tmp);
$ext = end($ext);
Strict standards: Only variables should be passed by reference in \includes\cls_template.php on line 418
将: tag_sel = array_shift(explode(‘ ’, $tag));
修改为:
$tag_arr = explode(‘ ’, $tag); $tag_sel = array_shift($tag_arr);
array_shift() 的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值 end(&array) 也一样(后面也会有end的函数,也需要拆分为两行)。
修改后到后台更新缓存
这里是php4与php5的区别
PHP4中构造方法是一个与类同名的方法,而从PHP5开始,用__construct()做为构造方法,但仍然支持PHP4的构造方法。如果同时使用的话,如果 同名方法在前的话,则会报错
只需要把 function __construct()移到同名函数之前
6 Deprecated: Assigning the return value of new by reference is deprecated in \admin\sitemap.php on line 46
$sm =& new google_sitemap();
修改接口文件里面的方法