搜索
查看: 20207|回复: 0

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

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

7 ?2 t; ~$ C3 U/ n/ n 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 错误
( k) E3 E. }+ e5 L+ k: u  解决:找到install/includes/lib_installer.php中的第31行   return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:6 J! v4 C( d% e* z4 {
  1)将function gd_version()改成static function gd_version()即可。4 X& m5 J, Y1 u1 X% i
  2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:% c5 }0 m1 O4 J
$p = new cls_image();
0 K* L& K9 M) ?1 i) ]$ Vreturn $p->gd_version();
6 Q3 a: d+ T3 ?" ~! W# Q+ f
, E. r! {% ]  ~0 G9 {- V1 N. g8 z3 @, I- d3 B, g
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
: e/ E7 f4 ?2 h9 f: Y- J安装进程已中止
) m/ W8 q5 q, j8 y7 R# {5 M8 z创建配置文件............成功
. t6 \& c* e* `8 n0 V5 ^: }1 S创建数据库............成功
: k7 c2 j) X2 |  `! M. _5 D安装数据............成功8 J, U! H7 u$ `% N, @3 o
创建管理员帐号............成功
. S( W" D* s8 s. z% H- {  ]7 T处理其它............失败% k" ^& m  l2 K* E

3 U$ d& K9 f7 K. `2 wWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
( c: Q0 c- T1 W5 N0 k无法创建目录,无法创建目录
  `( O  C! B. v解决方法如下:
. L' T/ @5 H9 s7 q* q" _点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
$ r4 P0 l; f# |& H$ m" m(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
( Z$ m! E! w9 s0 {. P; I7 p" [4 c6 F不安装测试数据库一样可用,一样正常,不是问题.....8 t0 f! G7 @) B0 X9 P/ n
愿看到此文章的朋友能解决问题;
3 _) \- A$ s/ m2 I6 W) m: R; G  l' \  d/ p" o
5 {' l5 d% V) D* W7 m
ecshop如何解决includes\cls_template.php on line 418错误
$ o! k$ m0 S0 i+ U/ S* U$ T( t# [/ L0 O* ^: Y8 m
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
1 q% {: n1 i! T% `Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
! |( E* |$ M+ |+ k4 G7 g: d第418行:$tag_sel = array_shift(explode(' ', $tag));
& @1 m/ S. d; Y: l" s, Z4 M : [9 ^" h9 C- ~! s2 X
解决办法 1:
) X% J& Q' A1 z5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
7 W' S: U; x2 B
( x- l# u% H8 r" L, [$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);, V- @& I5 \# L( b+ Z) ?
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
4 }) W6 F/ }5 v: @同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决% r; c" c4 q% P4 s

2 {. X! P6 ]  J  W* ^3 I6 E' s如:# ^0 m1 j+ `9 g( P5 a& R4 b
function get_dyna_libs($theme, $tmp)$ H! w1 K6 N# g7 o
{) G1 U: r0 H  G( {+ E
$extsub = explode('.', $tmp);* k& ]& q" s* v3 n
$ext = end($extsub);5 m$ F( z* }8 E) j2 n' m. H( n
$tmp = basename($tmp,".$ext");8 c; G, C; q$ e, p- U0 m
$sql = 'SELECT region, library, sort_order, id, number, type' .
2 N6 S6 w2 h/ Z4 H4 k/ Z4 i0 z' FROM ' . $GLOBALS['ecs']->table('template') .$ i: H0 j$ w# s( H" c% |
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".; n, m- m! V8 {2 \. o$ H
' ORDER BY region, library, sort_order';/ e2 B0 D) A/ b* x
$res = $GLOBALS['db']->getAll($sql);
' c# `1 `- m. [7 d# u! h/ \$dyna_libs = array();
7 d+ B7 _' p5 V& X) yforeach ($res AS $row)( s/ W; z8 U! J
{
7 r% E! Q; z: J/ m0 O$dyna_libs[$row['region']][$row['library']][] = array(
! T. C2 ?: E+ k5 g- B1 w'id' => $row['id'],# @3 N0 \+ s1 R% i$ g) t
'number' => $row['number'],, B2 _5 z; S+ o6 ~9 \
'type' => $row['type']. a( ^$ s8 E" f
);
; V/ N8 G: z; K( z+ G" I  q1 J9 d}
& V; c2 _0 c! \" N, creturn $dyna_libs;
1 T4 T0 Y& u+ {0 |! B1 _+ n: ~}2 Q" E) k& e% o( o1 D
0 `& S6 }( j0 _& ]/ k
将$ext = end(explode('.', $tmp));
0 k0 S7 U4 h6 P, P+ J4 a& D6 W* T改为6 n$ ]" b! Y. F1 x* u' n+ d0 g1 `
$extsub = explode('.', $tmp);' i! R2 C3 c6 c% z, @$ _
$ext = end($extsub);
+ {0 e$ b+ M' h$ }( G; V 3 f' Q7 W1 q3 ]
解决办法 2(屏蔽错误) :7 o% `; x5 `# X) b9 t  K1 r( ]6 ]5 w

* i, o' T$ U7 p* j- X  {4 f8 H或则如果这样配置的话: error_reporting = E_ALL | E_STRICT6 s* J. M9 \4 N& z
php.ini中有如下设置:
4 l5 A% f1 n( ^0 g4 b1 g" Ierror_reporting = E_ALL | E_STRICT
& y6 V2 Z) l$ L; @5 n5 S: s
! [, w9 Y4 ?; v1 C- E) D- U! e这是说,显示那些不符合编码规范的警告(coding standards warnings)。- O( c) f: h  ]! f' k& m" w  M
Joomla其实是建议取消error的输出,如果出于调试需要,应改为+ ?3 y* A; P; x! a# ^3 w
error_reporting = E_ALL & ~E_NOTICE  L1 N8 U5 h2 _" D% w3 d
* D- a* a# }5 ]! a! U$ k/ N8 r
问题得到解决。4 t( H) S8 s4 i) K5 T8 H
* y+ k1 W- w4 |3 I3 X

/ a; o- {# Q( `6 N9 H2 GEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line" d5 O6 N( M2 k
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
& E" {- E4 R9 Q6 r' q5 |2 v改为 :
# z6 P/ K, A& \/ l* v6 R  m, j! E$extsub=explode('.', $tmp);$tmp=end($extsub);
3 V6 j  n/ ^2 k) W5 {% D. h# x5 w1 J4 l% X
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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