搜索
查看: 20365|回复: 0

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

[复制链接]
发表于 2015-4-28 16:27:43 | 显示全部楼层 |阅读模式
: X) E4 B5 ~3 F: |  L, [
 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 错误$ K4 }' O$ |$ Y9 a3 V$ x3 ^
  解决:找到install/includes/lib_installer.php中的第31行   return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:( w3 E7 P4 v6 u% H# d
  1)将function gd_version()改成static function gd_version()即可。
, x" O' D2 `3 X. O! ^  2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
3 I- A8 T. u/ E" d' Z/ t2 j" M$p = new cls_image();  X8 B0 v* E8 \2 T! t( u3 n/ j
return $p->gd_version();
& m: M! t; Y, s7 {; |3 F6 A5 A" a% \. A5 I8 [
+ x- R0 w  W: p( M
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
. i' O- {6 V; c! z安装进程已中止5 z% ?+ w1 k) [& u! L; R! v1 I* t
创建配置文件............成功1 V/ x6 [+ @" l( Y
创建数据库............成功  t/ \& t' w0 S% A: x  @
安装数据............成功. X; k# g, v( \& @: I8 i# W
创建管理员帐号............成功
1 \% C( ]& }- P处理其它............失败  q4 c2 g2 [4 q' l
2 D5 _' w$ s, T* B
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
0 P: j( W' p5 u" E/ X9 e无法创建目录,无法创建目录2 v0 h- W3 Y9 ~  a
解决方法如下:' J: R. ^. c: j/ P% w
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: * g( ~: M9 C9 ], D) b
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。! T' O2 ]6 B1 P/ o
不安装测试数据库一样可用,一样正常,不是问题.....; ]; o8 r$ D; B" `: I( L
愿看到此文章的朋友能解决问题;
% C. W4 O7 z! D/ p4 S/ o- K% a9 R) Z9 z5 N# X
/ A; f; ^5 @! D( ^
ecshop如何解决includes\cls_template.php on line 418错误
0 G8 i% U3 P( L2 a! U& a
& f  s2 ^! v/ B4 M5 w之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
- z- G* X1 X9 A$ ]; mStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418! H% p" ^" W4 I0 M
第418行:$tag_sel = array_shift(explode(' ', $tag));3 _- X& O# `3 ?

! C9 X$ a) z- Y/ H! J9 ~# V/ X解决办法 1:, K! @$ k/ t, E9 B# C$ h; f
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
8 z6 V+ z9 x& B 7 ]4 s7 k, s1 I# J" ^5 E
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
# s, k# i, }7 e* B& {(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值' ?) v8 n# c, q! x2 S& M
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
3 O0 D) G- i" c8 a9 a % \% l6 M9 N* D8 ]8 G; i  |" y
如:
6 w) w! C# Q1 g; S7 y# xfunction get_dyna_libs($theme, $tmp)
6 v, d8 x6 j3 b{# _% o- N# `! T# d2 w7 Z# e
$extsub = explode('.', $tmp);: Y% i, b/ ^# t: f. L7 N
$ext = end($extsub);6 v, e9 X/ N( b( V! m& v) X9 O
$tmp = basename($tmp,".$ext");, d; F" P: E) ~8 {5 e: X
$sql = 'SELECT region, library, sort_order, id, number, type' ./ F+ `0 a! ?! K& y, O" N- G9 G
' FROM ' . $GLOBALS['ecs']->table('template') .) x) n1 v! o' B8 n5 O1 h
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".7 z+ v  `  x% X0 M8 c
' ORDER BY region, library, sort_order';
! C, T; I( Y2 a0 `$res = $GLOBALS['db']->getAll($sql);
+ T' ~" g: F3 W: w! \4 W$dyna_libs = array();
' x8 g" O9 u7 J; {foreach ($res AS $row)
  s' e% r# W1 X% d5 y( \' o9 l{  I4 m' t5 l; v0 j
$dyna_libs[$row['region']][$row['library']][] = array() z, x' a* _; I; a
'id' => $row['id'],. ~7 @8 W$ z$ a4 e% T+ Y! b0 B
'number' => $row['number'],
1 P3 N" C- f6 J! ]4 @/ r'type' => $row['type']& O3 n! [+ o; k- P8 A+ ]9 }( ]/ s, U
);
- B/ U& h; V4 ]# c7 y% I}
" v0 j1 v' t& W% ^. Lreturn $dyna_libs;
6 h9 w/ a  G. H5 C}
. C) [9 ^  y& @9 B" L
2 L) ?7 h4 c8 @( p! k+ _将$ext = end(explode('.', $tmp));
. [. R3 `# U: y$ G1 T2 o改为
/ O. h) V2 \3 }* ^; v$extsub = explode('.', $tmp);
2 q' z6 W! [4 t. G7 ^$ext = end($extsub);0 c4 O3 `* u) G- A( h. E

. z  e5 p! ^6 i! ^/ h7 W& s) s解决办法 2(屏蔽错误) :
8 X) N& ~( I, N/ h
6 S9 y  g( K( f2 B或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
; {! e$ `; G" o% w' c& _" ^php.ini中有如下设置:
! _6 v: ]+ H8 A; Werror_reporting = E_ALL | E_STRICT
. V6 r" s$ S( ]0 Y / F' D9 I9 N. P  H0 m2 l
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
; w0 p% k6 a; `# {$ \( v) p. yJoomla其实是建议取消error的输出,如果出于调试需要,应改为+ H" W8 @6 `, B& n7 L
error_reporting = E_ALL & ~E_NOTICE
) j7 G# P# e! N/ U1 O+ z- I # j! N$ p) o" O* Q" u0 A" O
问题得到解决。
7 _$ ?7 d6 m# i0 ?, l  E
9 F" _1 S* n. P3 B/ q, `( p; s: h7 x# N: ^" t
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
! ~4 [/ @9 _* P9 _! H/ L: Z: Sphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));" j! J7 T9 \. p, e. P6 k+ S
改为 :4 Z) r6 m. D  W
$extsub=explode('.', $tmp);$tmp=end($extsub);
+ m1 ?7 H1 T6 F' {. s3 O- o% F7 e- J& y' C
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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