搜索
查看: 20202|回复: 0

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

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

( S1 y' H7 k5 b" F 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 错误' ?! p0 S! X! q& A
  解决:找到install/includes/lib_installer.php中的第31行   return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
% W) O8 |5 c8 i, B7 T  j( @* q9 U  1)将function gd_version()改成static function gd_version()即可。
( L& T; `3 C; X. j( R  2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:% \6 [7 B8 w2 T* B' ]/ F0 k- @
$p = new cls_image();
# ]! P/ }! @. V2 [return $p->gd_version();
1 \( l* v- O* b! y1 ~$ F
1 v* }% c1 x0 X! l: d% Y' U9 B  C- F9 c* w, n
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
# X8 l% i* M9 v- Z安装进程已中止' X: F/ \$ u$ C* }9 h9 [
创建配置文件............成功
/ }* G+ k( `; s3 u创建数据库............成功5 P2 t  P7 w( F  s& I) p5 p- _2 e$ O  t
安装数据............成功
( \* n( X- p1 T, @6 T8 @: s创建管理员帐号............成功3 X! d# }& P- A; W2 R5 L
处理其它............失败
" ~# A( L2 e& z% z# a( w' T# ^
5 C+ B9 s2 D, }% z7 N5 SWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
. m0 c( P3 W7 [* l5 a1 P无法创建目录,无法创建目录2 V; h# z" I# I2 Z8 F
解决方法如下:, e1 u; D0 ?  A1 M. a) N, _. q8 Y
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
/ V7 P* S: R( {9 p(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。3 [* H4 T$ b& F' I1 `4 |( _( l0 W
不安装测试数据库一样可用,一样正常,不是问题.....
5 D- C7 F1 s/ x# {3 e愿看到此文章的朋友能解决问题; % C2 b9 h  Z2 j( D3 r
5 P! J* P2 i2 {1 O- Q8 L% l; \) L

3 ^4 ^0 c, c' E# V7 y5 Necshop如何解决includes\cls_template.php on line 418错误
! b1 {9 ]/ J5 F, i+ Z# f( K+ i& u9 C* h  t/ z; e" z
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
" b$ l9 l% X; ]8 K1 V5 M& A- \Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4186 w" b; H: N) x) s
第418行:$tag_sel = array_shift(explode(' ', $tag));8 P8 @4 w5 b$ f* B) P
- \- Q$ P+ K( ^3 t6 A: ^6 S
解决办法 1:
1 @" y: v5 L& \- ~5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: ( ^" w# _" Z% w( X1 l# u9 {. k

& y" W  T% h, k( ~& G$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);! x8 {& u1 d3 e! j  r- U8 }
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
2 h! e0 a6 Y. C8 F6 F同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决% Q5 {% E; y+ f* b: Z
. L0 c5 q# h5 @1 r( o
如:" s1 m; O9 ~7 n/ Q7 ]& b5 @" ]
function get_dyna_libs($theme, $tmp)8 X3 }* U, c% f3 ^; r
{
1 C4 t$ m9 E' B$extsub = explode('.', $tmp);
+ a8 C( y0 _- p3 Q$ h& D. M0 {& d$ext = end($extsub);6 i; o# B! R2 ^0 c$ ^
$tmp = basename($tmp,".$ext");
- }1 D+ y# `$ R+ H) u9 A7 l3 P$sql = 'SELECT region, library, sort_order, id, number, type' .& b5 j/ F" B" [0 Q; ~3 i
' FROM ' . $GLOBALS['ecs']->table('template') .4 |. Z0 G) _/ @+ a! ^* ^9 t0 C6 U
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
# e4 F! w3 Q( R/ G' ORDER BY region, library, sort_order';/ q6 y3 a" ~5 q& R: ]& l
$res = $GLOBALS['db']->getAll($sql);4 |# T% p' f7 g
$dyna_libs = array();
. X# |  J! p5 Pforeach ($res AS $row)8 Y! u4 }: h. o" j+ V% |$ F8 {" D
{
: V- u! }. @1 H) d$dyna_libs[$row['region']][$row['library']][] = array() z7 N+ ]% S+ x
'id' => $row['id'],
. \$ [/ G8 g. v4 _# _9 J'number' => $row['number'],8 {8 X. W  T1 T9 @3 l) I. a8 \
'type' => $row['type']3 N! x6 f) n2 a4 |$ P/ f+ F8 |
);
" ?* U/ S/ A% z}) P, ^$ o$ h! A4 W8 C
return $dyna_libs;
6 ]# a8 X2 B4 h7 u1 H}
7 [0 d# I4 L- b- V$ d8 I% U
* N- R8 c4 v8 B) C, _) f$ ~将$ext = end(explode('.', $tmp));
! f/ @; E: X% C9 D5 ~5 o: [. Z改为
( U* b# b$ |/ Y" b$extsub = explode('.', $tmp);
! G" r; Z! Z# N  [$ext = end($extsub);1 v( e+ Q; c/ X

+ z# h5 }6 D: y, U解决办法 2(屏蔽错误) :+ U$ r  P. t2 i: d1 H
+ b/ w$ D# O! X8 N
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
6 g% ^, s3 o  ?% f' N: ?php.ini中有如下设置:
3 H$ O4 x7 h0 H- Y: ]error_reporting = E_ALL | E_STRICT
# ^. f$ X) w. N2 s( W. Z 1 ?: v/ [, w, u: L
这是说,显示那些不符合编码规范的警告(coding standards warnings)。0 a* K4 `* |3 m. j" S
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
" \: H1 l6 m& f8 s2 C- rerror_reporting = E_ALL & ~E_NOTICE
4 q3 o! j* B9 O; H
6 a* @6 }, f2 l% X问题得到解决。$ O& |, {2 w8 @1 Q6 M3 p
" ?8 d0 X5 ]2 R/ |! q- C

* t) B# h1 u8 Y: @! g% W% sEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
% J0 @6 b9 e- p  p$ L$ rphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
8 y: g7 p5 Z4 \) D$ y4 V; L改为 :/ X8 z+ a8 S3 l: P/ X: D) @" F9 Y
$extsub=explode('.', $tmp);$tmp=end($extsub);5 M: u. A) d. W' @; ]! W2 a) r
' f+ R+ ]: I; x5 Y
回复

使用道具 举报

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

本版积分规则

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

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

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