搜索
查看: 20221|回复: 0

[网站] ECShop网店系统V2.7.0正式版在php5.3下兼容问题

[复制链接]
发表于 2015-4-28 16:27:43 | 显示全部楼层 |阅读模式

2 _, z" X2 R! D3 G, s 1.Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\X\www\ecshop\install\includes\lib_installer.php on line 31 错误- l+ r& c0 s9 @) k/ q5 Q
  解决:找到install/includes/lib_installer.php中的第31行   return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
' l: @0 s% i! r  1)将function gd_version()改成static function gd_version()即可。
1 a7 q5 P1 c, r" p7 Z  2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:; I! d9 c% e9 s& j6 e
$p = new cls_image();' a4 Q3 A' J* Q9 r# I
return $p->gd_version();. ]$ ^' z- R$ i, ^

/ F( @3 i7 |. P, D2 A2 k8 R5 B) r; }' j8 `2 r/ _: ?- X7 h
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
4 ]3 H; l  b1 j7 g' P! |安装进程已中止3 \) z! C! ^7 p8 u0 W" q  F8 A: j
创建配置文件............成功
! r& i% u  b, A4 o) w创建数据库............成功
/ m/ M' L% f' O7 Y2 u1 P安装数据............成功) x2 ^4 x3 S3 N& E/ P0 w* H0 O
创建管理员帐号............成功5 M( D9 g. s+ d3 m
处理其它............失败' Y9 D9 \4 b8 e6 ]( |! p( u/ p
& U  h% O1 E, Y' f" S, u
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5281 s. h' ?' ^3 g0 D/ L
无法创建目录,无法创建目录& Q/ ^& ]2 B# R/ C0 }) [
解决方法如下:
. o, `/ I( z. c) C点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
, C/ f4 c3 c  o% [(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。6 G/ F: O/ j$ u# M! x3 r
不安装测试数据库一样可用,一样正常,不是问题.....
7 x! {( M, q. p愿看到此文章的朋友能解决问题; 4 g! V, d: u) {* C8 h

/ \+ H6 w* M: H* \9 ]
$ D6 X. m& y4 u% x8 Wecshop如何解决includes\cls_template.php on line 418错误
+ B) z9 {0 I6 t0 n0 n, ~, {- G9 y2 D$ u
+ [0 @0 L& ~  a1 U; Q5 V之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:3 M) e. ]; l, M# {' v+ c8 s
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4181 ?5 W3 j: G1 U) Y+ F; E+ t1 M! O! k8 E
第418行:$tag_sel = array_shift(explode(' ', $tag));
+ |& y6 q% ^9 p) n1 ]' a! u9 A : z) m' E! y  @( _9 a/ q) U* s
解决办法 1:
3 e1 b6 j3 `9 N4 ^% V5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: : J/ k$ h% T) |

- E, q. Z! {8 l) ~+ G8 w$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);5 U  w, _3 _0 z
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
" D  }9 }% U* l( ]6 H同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
% b; `5 T4 c+ M6 Y0 F
- D7 E: t0 W8 q1 j# A如:
8 `! [- {' ?" Z3 k& rfunction get_dyna_libs($theme, $tmp)
1 \1 y+ E" A/ W: F1 o3 \{
; v/ F# y$ B" C" S" c6 j$extsub = explode('.', $tmp);' F6 x& ]# f# o/ s3 K& i, s
$ext = end($extsub);( J6 C  d8 ]* i4 X3 _
$tmp = basename($tmp,".$ext");
1 Q) R9 {) l9 v9 K& A$sql = 'SELECT region, library, sort_order, id, number, type' .  s7 C9 ~1 }( r3 C) C8 P) y
' FROM ' . $GLOBALS['ecs']->table('template') .
# n0 V8 V+ P2 S" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
( X9 E  w5 m7 H0 B9 g1 ?' [' ORDER BY region, library, sort_order';. T- ?" J; i6 l5 r) A) ~! u
$res = $GLOBALS['db']->getAll($sql);
: v: R. W  }( ?$dyna_libs = array();0 B9 X$ N; S4 ~; t8 g5 \
foreach ($res AS $row)7 w# K- F$ d( M2 \
{
2 L- k- W) m6 Q7 {' E$dyna_libs[$row['region']][$row['library']][] = array(
7 O; w5 C' l: d( C6 @' U' ~* B$ a'id' => $row['id'],
/ z, W- R8 j# o6 Z; _: v0 Y'number' => $row['number'],$ t1 W5 U0 {) c7 g  X+ s6 M
'type' => $row['type']; O2 X  n" i7 X: w9 T
);! E* Q) t# G. p8 _
}
1 X3 G/ T- E+ |3 m8 a, W& b# x( wreturn $dyna_libs;1 U$ x. O! \4 s$ b  F; P  m
}
9 l& {9 T! R% Z1 ?3 j" B% j . n- O- q- r4 U! R: ?
将$ext = end(explode('.', $tmp));: e2 U) q5 c4 L; H( J
改为" e, R" s" F3 T  g# y. Z5 C8 a
$extsub = explode('.', $tmp);
0 {3 J. [2 N: Y; o6 D4 y7 Z$ext = end($extsub);
" L* A( Z0 {9 n+ V/ y
! F6 b' v" [3 y* X6 N5 {6 |解决办法 2(屏蔽错误) :* W1 e" D6 {2 ^& {4 q% D- v& X  @

- z& T3 o9 d' D" ?8 x( u或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
, }4 Q( j3 r+ t5 V, Tphp.ini中有如下设置:
4 h, {; a- N# @0 ?; H* @error_reporting = E_ALL | E_STRICT6 ]7 @, k! v+ _8 \% q5 G

( t% s0 H8 |( N8 X( c这是说,显示那些不符合编码规范的警告(coding standards warnings)。$ T$ k+ _- {  S
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
. O/ k. s, @: M3 ~error_reporting = E_ALL & ~E_NOTICE' i. O. R, _3 f% w
- L, ]* Y# K) g7 z
问题得到解决。$ v5 \% \  A. ~4 Z! i
. l3 d8 ~% o! ^. b" U
  w0 r( L( u; H$ t4 Z
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
4 X. s! S% O, y6 hphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));; p) ?- y  O# z  l8 E
改为 :  f8 s( X0 p2 h' e8 x1 o$ K
$extsub=explode('.', $tmp);$tmp=end($extsub);
$ M4 j2 N. P4 Z0 @" C8 K; ?0 n) ]: b
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

热议作品
精华帖子排行
精彩推荐

虾皮社区,成立十年了!

站长自己也搞不懂想做个什么,反正就是一直在努力的做!

Copyright © 2007-2019 xp6.org Powered by Discuz

QQ|Archiver|手机版|小黑屋|虾皮社区 鲁公网安备 37021102000261号 |网站地图
返回顶部 返回列表