搜索
查看: 20397|回复: 0

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

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

3 e5 p, V9 Y0 T 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 错误
2 ]4 D6 H! r8 _6 j, v, J  解决:找到install/includes/lib_installer.php中的第31行   return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
; C* C+ `9 W! N4 d8 X2 b  1)将function gd_version()改成static function gd_version()即可。
7 B( k0 ?( n6 \( m7 _, D! b; G" E  2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:( l5 H. R2 T" n" H
$p = new cls_image();
) |: O5 x7 X  i7 Creturn $p->gd_version();
, x3 r* Q. Y0 R4 Z' V8 ^$ ]/ {. V; s% U

3 B5 Z4 c( X: S! U8 |: Z6 s3 V% w下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:. i& b) _2 ]+ K+ y* `; S
安装进程已中止9 w9 T9 Q7 s6 ^7 p6 g+ g
创建配置文件............成功
/ m2 i2 B5 V& D创建数据库............成功
% N8 b% U7 a* y5 q' ]安装数据............成功7 h& s$ @* ^8 \( m- C3 [
创建管理员帐号............成功
! X8 n  I& @/ u1 J3 h. u处理其它............失败
7 ]5 p* r( Z& k: L6 Y& N9 ~; c; G, W% z/ f4 p1 U2 P! s6 U
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528( c: g* V  A4 `) j! z) ?% g
无法创建目录,无法创建目录
9 H) q3 p7 u0 f解决方法如下:3 J! u3 J& V: L
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
. T* v& i# I6 g" D(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
' r# z6 U* U; ?! P不安装测试数据库一样可用,一样正常,不是问题.....- G; s8 o! n" F( X& L" [0 q
愿看到此文章的朋友能解决问题; 0 _! d2 k" n! r/ E
0 O- x8 d' Q. u1 b/ V

# z! n3 s3 e, R1 f$ _* Zecshop如何解决includes\cls_template.php on line 418错误
3 [0 ^. |6 H7 Y- U% Q" \9 j; U, c" A% M1 z
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
/ ?) o/ T* Q4 _4 L. K7 H' E; ~Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
# Y! `6 G( E0 l1 a第418行:$tag_sel = array_shift(explode(' ', $tag));
+ j8 |2 a2 \0 e1 r % T- P+ V" W7 c& H
解决办法 1:3 X/ Q% t/ m- F. O% ~
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: * E9 f# i, {/ s% S' y8 M% U# v

8 Q: ^9 }$ m6 Q% ]$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
& M7 y9 k+ K7 i9 I# T! f+ t(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
( p8 v; V: W8 L; `2 s: F8 t同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
  T6 Z/ a( s8 x / _. t+ h& E7 V! u& r* I
如:
0 A3 I; P/ \$ b6 Y* Rfunction get_dyna_libs($theme, $tmp); p% _+ l4 K0 z6 R! j$ A! Z, H
{
- k) @; r0 T  s7 T$extsub = explode('.', $tmp);
4 s* w4 E6 h) v& q0 o! y0 S$ext = end($extsub);
. w3 N0 u2 C- N+ W1 s$tmp = basename($tmp,".$ext");
4 L, G' S% ?  v& A1 E" g. V  [$sql = 'SELECT region, library, sort_order, id, number, type' .
+ u5 u( V, G3 w# _& `) d( a' FROM ' . $GLOBALS['ecs']->table('template') .
$ f: l. }( d& G5 l9 K3 ?" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
! j* v2 n4 V7 D5 K0 v" O, V' ORDER BY region, library, sort_order';0 F5 r0 A4 `( u/ k
$res = $GLOBALS['db']->getAll($sql);
! J+ _" y. e. _) G& u' d# j( N$dyna_libs = array();
" w+ n: L; N* d4 Y/ uforeach ($res AS $row); s8 y. l; v; Y8 F7 U
{
/ T5 U  u! y6 c6 I6 X, v+ h3 ?3 _$dyna_libs[$row['region']][$row['library']][] = array(5 I5 v$ @1 `6 e. p: E
'id' => $row['id'],
% D" S" I* g: M& C; n, u) W- c'number' => $row['number'],& n) n4 `) v1 j) w  G+ N
'type' => $row['type']  ^* ]7 h- _3 Y$ I" X3 q9 J
);
7 L) y9 m, O3 y$ r) O3 M}2 r  g1 z1 K! b+ z; p. A
return $dyna_libs;
: Q( N0 E2 F, R3 L8 r( A}
9 r: t: x  h! U0 K3 t ; _- {$ Y- ]8 b7 U+ O  \3 M
将$ext = end(explode('.', $tmp));
$ {5 I' \) V0 k+ T: V改为
- {, I: P9 z. p$extsub = explode('.', $tmp);$ ?. {8 A0 U: D5 o. R
$ext = end($extsub);
! R. J% R' r2 v( o1 Q/ T* B
% D/ f9 v9 u# w& L9 E7 l" P, d! j解决办法 2(屏蔽错误) :
4 ]8 M$ ^0 V, U; s8 g
3 U$ ]1 r! M' X6 t  g1 }8 n或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
( [1 L) M$ k- d8 N% `- m- gphp.ini中有如下设置:( G* Z# |! M2 G' t( L
error_reporting = E_ALL | E_STRICT# ^% F4 _$ H! |0 K0 S& O

  a# o6 E7 `$ i; z0 {& ]这是说,显示那些不符合编码规范的警告(coding standards warnings)。
; M$ q$ A5 W& }: h+ ~Joomla其实是建议取消error的输出,如果出于调试需要,应改为- ~$ N6 x7 T# j! B. B6 q# v5 k
error_reporting = E_ALL & ~E_NOTICE9 R6 {7 q4 ?; J+ k7 }. q

$ N, y1 T2 V: z+ k4 c1 N8 B问题得到解决。
2 X' O/ U9 e3 b! \, H
1 |9 z7 E5 D1 L. u( L: |2 ^  }
1 A7 j! F0 I2 _3 KEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
7 J9 ^. [" i) k- {8 gphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));0 t; c6 e6 e6 Y( T; W9 L
改为 :
3 \7 K! o3 _" K6 t& q2 I3 R$extsub=explode('.', $tmp);$tmp=end($extsub);
4 Z, `+ C, A4 q/ x& ?  X; d; G( J# }9 Q! ~+ b1 M# F, P
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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