|
|
0 X" Y u+ _) \: A. i1 `
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 错误
U5 m9 b# B6 l; n 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:6 M( c" |. O+ n* |
1)将function gd_version()改成static function gd_version()即可。6 F* o# `/ o, A8 L% V
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:) \$ n$ H# X+ Z* b0 H @: L0 {6 j
$p = new cls_image();8 Z [6 i% M+ r2 _
return $p->gd_version();% _6 z) i( o! l6 m0 t! ^
9 e6 k l9 W0 n" t( r9 f+ j. |
) F X2 N* [* r9 D p+ {3 a# f
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:$ Z4 p8 j- p7 e$ L
安装进程已中止/ p$ W0 @3 L r7 ?3 J& \# k& h. |
创建配置文件............成功) s, M' @. \. S* P! A3 ~+ c
创建数据库............成功5 ^/ z+ K n, s( I; z$ U" M; U" d
安装数据............成功
3 C5 W( _. M* k9 y# j创建管理员帐号............成功
/ c% n9 a8 j0 l# I处理其它............失败
0 ^2 l/ L5 i" j6 P& R# M7 U) H
. ?, \# H% P) E: tWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
( @2 ?7 A) x# [0 C. h: @/ }无法创建目录,无法创建目录/ S: A5 J% g, m* P& K) Z% X
解决方法如下:1 S% B. e/ G2 i
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: & i$ X8 b% V: C
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。2 n% ]+ h; _, P
不安装测试数据库一样可用,一样正常,不是问题.....4 x! Y% P" |- H+ ^. q
愿看到此文章的朋友能解决问题; ; J1 Z$ F) C' `& N- O9 Q4 E
( ?" ?$ R6 K N7 |7 F! ?' G. w* q( M8 {! O8 f5 s! ^
ecshop如何解决includes\cls_template.php on line 418错误
& ?* a" e5 a: x3 o3 W9 o7 f" x+ W' _! H! c4 u! H
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:$ F3 n f: [+ f1 H" J
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418* \% M- t% }# F% T: k% j! G. ]
第418行:$tag_sel = array_shift(explode(' ', $tag));
# E8 f- g( Z# T* `* U' ^% w0 A
4 U2 y) C; h$ R4 {解决办法 1:
8 h4 |. n. Q# H; s( h5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
& }1 I+ S3 E6 J, D
: ?2 X4 d9 H, o/ E$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
% E( L* O1 z/ ?$ ]& A% R: U(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值: @, F* |6 m1 v
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
9 `2 k- E0 k. p( J1 V8 o / }! q2 `' ~6 f9 U! |' X) m
如:
, _. g- l' p0 I/ o1 lfunction get_dyna_libs($theme, $tmp)3 ^6 ~# K! A; i* R$ I
{6 Y8 K+ b' v0 @! Z# J5 k
$extsub = explode('.', $tmp);
2 P1 F( z' {( P$ext = end($extsub);. \7 ~: X5 n a1 [7 B6 z; x
$tmp = basename($tmp,".$ext");
6 S* ^$ m& i/ K3 W8 E, q$sql = 'SELECT region, library, sort_order, id, number, type' .& J2 A/ K9 s1 ~) D7 ]% m4 }) e8 o
' FROM ' . $GLOBALS['ecs']->table('template') .
2 L" @ j/ Y6 s/ s+ l" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
: }. y$ `5 }0 h8 d3 J* u5 e' ORDER BY region, library, sort_order';
. c3 f* P0 J- I. L5 T# X$res = $GLOBALS['db']->getAll($sql);
7 R7 G1 C: T6 Q" t4 _$dyna_libs = array();
4 D& }- a$ Y8 A1 v, Nforeach ($res AS $row)& O" z; W, o$ m) _( z6 ]
{
6 h; W( V% U/ I+ E1 B8 q/ m$dyna_libs[$row['region']][$row['library']][] = array(4 ]5 ~4 U9 A6 Y" \# M
'id' => $row['id'],: D% Q6 D8 t! Y
'number' => $row['number'],* j8 D- ?2 H$ b, K
'type' => $row['type']
" o' S. \; W/ M6 m+ |, a);# c J0 Y2 p; ^# i! _
}
5 B* e# s/ \) ? I* G6 u' yreturn $dyna_libs;; M7 q: D0 C: E* S
}
/ @, J) i* p+ x; s7 g Z
9 m. P# w4 N8 p" c3 A8 _将$ext = end(explode('.', $tmp));
1 V9 U, W* d( Q' l) u( F改为! ^7 z [% f0 b( d$ Q* }& F% Z
$extsub = explode('.', $tmp);
& u9 h2 R# `6 Q" O4 p7 L& I$ext = end($extsub);+ U& C g. l5 |! j* r
* R* R% N. J. M- p& m Q( S解决办法 2(屏蔽错误) :
4 T* I+ b$ F% R 9 `" Y4 }- |9 m( D2 { i1 P
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
3 N: B; a2 ~: l& U1 m3 h$ Jphp.ini中有如下设置:" n* c( N4 B9 |7 E8 C) j
error_reporting = E_ALL | E_STRICT
* I0 Y! d# w0 N2 l( X5 T; D* |
7 U" U% w7 `/ W( _6 i. P3 s6 |这是说,显示那些不符合编码规范的警告(coding standards warnings)。
1 c* |$ { P5 M3 R0 u$ T+ nJoomla其实是建议取消error的输出,如果出于调试需要,应改为
3 \. G" c' H1 ~* xerror_reporting = E_ALL & ~E_NOTICE
& `- @ m# O+ Q) K
) P* j9 H% v' p" H9 k0 ?0 T) K# g1 R问题得到解决。
6 i2 `# g. _$ w4 F, e( Z z" A4 A$ {; \ T
; v/ _5 W5 Z0 F CEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line' [2 l& i" x( R3 }
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
8 b6 C' F% `3 T0 n6 ]0 a2 u4 V6 h改为 :* q9 `: H" l3 ~/ T) W/ \
$extsub=explode('.', $tmp);$tmp=end($extsub);5 B2 c0 b9 k2 k0 `* H. f; Q
, e8 S a. G# e9 D3 f |
|