|
/ P/ g+ u& i J" _& V
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 错误; W/ I3 G& m9 L+ P5 I3 l6 J6 f
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:0 @1 e% Q# W7 E) m
1)将function gd_version()改成static function gd_version()即可。/ g! `8 ?- q) B4 p) Y( Q
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
. Q; l8 f: M6 M b4 h _$p = new cls_image();
. c0 F V: }# t, z4 \2 Greturn $p->gd_version();
/ }6 R: {2 b6 [' M z$ n1 ~( n9 K
$ M2 r" g- T0 v/ n+ _. y
+ x* [. n6 k3 c5 M& w下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下: q, T8 f" X9 w( h4 q
安装进程已中止
6 l! d+ W1 c, X3 t& `创建配置文件............成功
0 u( [" {3 w( m+ G7 O7 B! G, a创建数据库............成功2 N" ] a% S5 e) z; N6 L
安装数据............成功+ _' y. ?) Z$ d% N0 T! e
创建管理员帐号............成功2 @; y G2 Q0 q" L' F
处理其它............失败
+ S2 b( p2 n$ u% Y) {
$ ~1 x1 S1 _2 x0 Q/ `; e/ z/ qWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
# m$ q4 a% ^1 H& Y: k. O6 f3 j0 t无法创建目录,无法创建目录
& N9 U5 e. w2 L! H/ W9 ?3 p5 l解决方法如下:& ]# w/ \6 E$ @
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: 0 `! e: P8 M) k& _6 s: A7 _
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
" t9 z3 C; A3 r5 C/ j) M不安装测试数据库一样可用,一样正常,不是问题....., L' S! y5 I3 T0 M. }" h' {
愿看到此文章的朋友能解决问题; L9 Y3 l% y+ u+ a3 K
! @) A4 D& e/ ]3 q6 b' d0 j7 A1 H6 r% n r/ g, O
ecshop如何解决includes\cls_template.php on line 418错误
0 B3 \8 N5 Q$ z. O' Y; W
q. m S4 C" P之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
4 C6 Q5 q6 Q, w5 rStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
* b7 T8 H) ^& L第418行:$tag_sel = array_shift(explode(' ', $tag));5 b- o+ c7 S( V
* w, e: p; i! K, q
解决办法 1:- C; @' E" h/ s5 f& }% K
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
; X+ i" O3 a; |# c( x C
5 f \/ y- B7 S; H" o: Z6 b. q' i$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
- C5 W2 o9 W3 U4 Q. z(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值# F6 Q2 m+ t( Q" D
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决& d$ ^/ h3 R/ p7 j4 y1 G. H; Z4 w
5 ?9 E% Z( J2 k }, x7 c: A- T4 ?如:
& _& u/ Q8 @, J @" C! Rfunction get_dyna_libs($theme, $tmp)$ v" I) A1 a U
{
5 T4 ^* a- D1 ^5 a. p; P$extsub = explode('.', $tmp);+ }8 A; X& n0 `0 P. m* r6 ^9 A
$ext = end($extsub);" z7 d- D: q+ E9 Q) {2 `3 a1 N
$tmp = basename($tmp,".$ext");
: ?- }1 ^1 c v# ] ], N8 M$sql = 'SELECT region, library, sort_order, id, number, type' .
0 \; Z$ V( A3 ~5 L' FROM ' . $GLOBALS['ecs']->table('template') .
5 a( x4 t: _5 s$ F" z% M" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
- {" d8 S' M* |+ M) `' ORDER BY region, library, sort_order';* ?4 I: W, T& R9 o! d/ y8 O
$res = $GLOBALS['db']->getAll($sql);6 S4 m# @ I& a( R! F4 g2 g$ n: }' \
$dyna_libs = array();- w% D; z9 v" P: d6 N" Z
foreach ($res AS $row)% l6 p: F; m* U$ F
{
! V7 t0 n% j4 k1 g2 z$dyna_libs[$row['region']][$row['library']][] = array(0 ?" N, G7 `' W( e4 N
'id' => $row['id'],
: e: {/ D/ |9 d# d2 C'number' => $row['number'], x2 Q& P1 @% f" E1 T
'type' => $row['type']
7 [: `4 @1 q7 c);8 u$ R4 [9 v, Y2 X
}
5 N$ \- w: z9 G- W# J' f4 w4 C9 Oreturn $dyna_libs;
# y( r1 S5 P9 S# \# a5 ?}
% P- s/ E7 a0 Q7 ^9 T+ { N* n' ?( s( s, I
将$ext = end(explode('.', $tmp));6 ?) b- ^) Y. a7 v; \0 s
改为* p, N) S8 E' K7 O# y
$extsub = explode('.', $tmp);) p) ~& [: N+ c- l' K( }
$ext = end($extsub);3 P. u, p) E0 R0 A' i# D% |
7 k7 h8 v' x. i, V# [
解决办法 2(屏蔽错误) :3 h5 w4 l9 K) p- l: ^2 S
' f4 Q2 C1 I6 N( k! H
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
0 _/ {, g9 l: @) a6 ^1 Vphp.ini中有如下设置:" {1 |8 [/ c* i+ w7 ]
error_reporting = E_ALL | E_STRICT f- @3 O8 p! M0 j- O. M1 [$ y$ _
6 S6 k5 {& J: Q$ d$ x4 A/ A这是说,显示那些不符合编码规范的警告(coding standards warnings)。
I4 g) u6 r% d" x: ~0 D3 OJoomla其实是建议取消error的输出,如果出于调试需要,应改为
8 ^) T* M& T9 O. j" q: }* W8 |error_reporting = E_ALL & ~E_NOTICE; R$ ^/ X( a7 x, }) ?+ s" R' r* _1 L
# f& v0 _, Z5 f; H1 w
问题得到解决。* W% I& F- H: R0 C" c# V
. u; X$ {3 D, ]6 E& U5 q, x- a) }
, ]4 A, y/ j! r: J1 \, j; ^5 }! V
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
1 _& t) E8 W @) Q5 q! ophp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));/ e' X) [7 C* ^: r% @
改为 :( P( q- q1 s h- V* f! t
$extsub=explode('.', $tmp);$tmp=end($extsub);
% D9 V7 E9 ~9 V' b6 g# E: M( Z9 e6 B9 m* s
|
|