搜索
查看: 20307|回复: 0

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

[复制链接]
发表于 2015-4-28 16:27:43 | 显示全部楼层 |阅读模式
  n$ h+ M/ m; s! g& b; h1 }& @
 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 错误
$ T+ F7 \( M& W7 I: A  解决:找到install/includes/lib_installer.php中的第31行   return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
) s& w* }* i3 d/ u$ U# m' W  1)将function gd_version()改成static function gd_version()即可。" R- {- Q0 ^! }6 P
  2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
7 V: Q+ {6 j$ n0 Q% J, H$p = new cls_image();! h- l5 D* p  ?; O
return $p->gd_version();$ x6 l  G+ u- b  G

1 G+ c+ j! \  l0 K* W/ x6 h  C( P$ c0 s
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:, t$ {. {4 ?1 g5 r; Q# d
安装进程已中止
; s6 Q  x: e6 m8 B创建配置文件............成功
) P5 {$ i9 c3 F8 T; t! F创建数据库............成功1 ]' w. ~$ Q& c2 Q& x1 ?
安装数据............成功
1 [/ ~( L+ o3 E5 g创建管理员帐号............成功
* T9 N) r$ B% w5 o, X处理其它............失败7 D& Q' q. C; ^* a& r

% b* d* P! \! Y# x  [1 j! f* CWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
$ U9 y: }- o/ w' P$ a& m  z无法创建目录,无法创建目录
/ Y3 I" E" P, P: c+ z3 t; M; j% P8 m解决方法如下:! ?/ q$ v. t9 s+ B% A) b
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: 1 _& E* V/ }9 I: T
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
. h; R, o5 q0 |0 G1 r不安装测试数据库一样可用,一样正常,不是问题.....: j: g5 J' m/ c% f) _. ]6 I
愿看到此文章的朋友能解决问题;
; A$ h$ B. j6 o& m, ^6 s1 l7 i! k1 B9 i* u" B7 b4 |
: U# V" \2 n) `5 x
ecshop如何解决includes\cls_template.php on line 418错误0 P4 N; a1 c8 M0 O
: M! `8 g7 {* h& `  ]4 n
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
' {7 j) d3 t; q1 fStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
+ K: k8 [  w+ T* C* Y, Y6 b第418行:$tag_sel = array_shift(explode(' ', $tag));( w: }6 [: n" |* u2 U# E- w/ J/ T9 X
% Z; }* t7 H7 e" p& a! j; N  `8 J
解决办法 1:
  w  b" t! \( X% w  S6 A5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
& ~' R( P2 z6 r9 U+ `/ w; l
; i+ Z! T5 L/ @1 u9 B$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);7 ]) E0 r. a+ Y+ u# s
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
- f9 U% Y* A2 A同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
( ~# e& n( e3 J
( B( i1 B: E1 t1 J) {/ Z如:0 Y% t7 Y% v0 ?( o
function get_dyna_libs($theme, $tmp)
! d3 S# r- j! X0 \9 P( f8 r{
3 X2 q9 `% V, ~$ }" {: N4 M$extsub = explode('.', $tmp);( r- r/ I* m) u& E
$ext = end($extsub);+ n' s& v; O) h1 }
$tmp = basename($tmp,".$ext");
9 B2 d- I) x1 o; Y$ e& q$sql = 'SELECT region, library, sort_order, id, number, type' .# A8 d! B6 @  R2 h0 D; P5 Q, F+ P
' FROM ' . $GLOBALS['ecs']->table('template') .
4 J# a  l0 B' |- e4 `% H" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''"." v1 J+ s: p5 J. m3 D2 x
' ORDER BY region, library, sort_order';1 w' M. [6 M! Y, l1 N
$res = $GLOBALS['db']->getAll($sql);
& Z5 I8 b. g/ l) ?+ a$dyna_libs = array();1 X; ~1 ?/ T' E& l- L4 I. i( M
foreach ($res AS $row)
- d0 _' I$ `. V5 t8 W( u& G7 e{
2 q1 L' l. x* y, T$dyna_libs[$row['region']][$row['library']][] = array(. ~0 A. k0 |% l1 |: p
'id' => $row['id'],* B1 k  l$ K- }8 {' o/ {
'number' => $row['number'],/ h/ U8 c4 ~% L6 z1 t  I
'type' => $row['type']" Z  F; r+ G) n/ s7 E5 z- e
);
" S( I8 r; x) P$ T}
! A& s! U, Y, E# o8 r: wreturn $dyna_libs;' B, Q3 a% D+ ?( s: e6 \
}
. u0 W7 L. q' C( |+ c2 }% s
( B3 E$ H- K& J: [( v) v: m0 a将$ext = end(explode('.', $tmp));4 g/ k. D6 w, c1 f3 Q& R! q6 @
改为1 E1 `# E) T! [  `& X
$extsub = explode('.', $tmp);
9 B2 R' U9 i! _% k+ }( J% n$ext = end($extsub);2 y" b6 Z' o' T9 q- }5 _
5 |+ |4 n+ n9 i' f7 \! p$ d
解决办法 2(屏蔽错误) :; n% [4 S# x% {2 v4 J0 ^
2 s6 I; M' I" i% z  a7 R
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT5 M1 J4 I' A' {+ ?" Z
php.ini中有如下设置:, N1 h3 j7 a' ~  a
error_reporting = E_ALL | E_STRICT4 ]6 X3 s' W% j0 i2 m, |( K
4 W5 J% V% w1 m4 C9 W. ?" G
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
$ C; @6 u4 d  Z. K7 h( A% {Joomla其实是建议取消error的输出,如果出于调试需要,应改为' W% H7 z" Z/ Q  z# ^
error_reporting = E_ALL & ~E_NOTICE
7 {( G; J2 k; x2 N$ b
( _9 p( w  E! R4 \) N' K- T问题得到解决。* m( [- }# x: X4 B: ?; z" l
1 N3 R3 f3 L2 w) d

% E* d5 v; }3 K+ X0 }Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
- P3 \8 Q6 V, m0 m2 x! \php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
) v2 {% u; ~) |0 k改为 :" V; m  s+ \' m' w, ]& F) g
$extsub=explode('.', $tmp);$tmp=end($extsub);
! Z$ `7 O  Q5 ]! Q6 w: m
, d0 R% o  f1 u/ `$ k( z
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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