|
|
9 a' F# H' I' Y& j+ B 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' `5 z; ^0 Y+ D0 p$ W
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
4 d& u3 z" ^& I" P! X 1)将function gd_version()改成static function gd_version()即可。
0 w2 R% h" b! q2 S8 b2 m9 _ 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:+ ~& Z6 l" M9 Q
$p = new cls_image();
, l% W- n2 v; W3 N; _$ F! Yreturn $p->gd_version();
5 ]5 M" T/ J) ^5 p9 T, b
& Z# B+ g) g. X! x$ w+ _0 K
' W6 }: c1 ` ^下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
! t9 z7 a5 ]6 Q) `! h, W% }1 t1 K安装进程已中止
& g1 b8 [' P1 u" e/ A7 ?2 ]创建配置文件............成功" U- \/ w/ h# n* M T$ D
创建数据库............成功
+ t' N- l" D/ S- a安装数据............成功
7 C, d$ M& H( P8 y创建管理员帐号............成功
2 p5 ^- J. b4 d6 P7 J处理其它............失败
% t% `& n8 y+ j& @ z. }4 R6 y# k9 \" e: n8 ]
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
: p6 x4 m" v& W; \& i: {( R( d无法创建目录,无法创建目录1 A$ \8 k# f3 H# N8 J4 s% @
解决方法如下:6 q6 [, M3 h* d/ \) S k8 K4 Y
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: ; J! h7 x0 T6 w7 }0 Z' T! V/ L
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
' i) X6 D1 ^- k1 ] S/ p* h不安装测试数据库一样可用,一样正常,不是问题.....
0 ^; @: [/ ^4 G1 V& d愿看到此文章的朋友能解决问题; 2 O' v& E* `1 @2 M, m2 O9 k3 U
/ M' h$ T9 U& W1 i& O' A3 }! g$ A+ a( a. y! V" |: H
ecshop如何解决includes\cls_template.php on line 418错误0 @ J' a7 L( g& _
3 L. S, f) d; E9 v1 h" L之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
' y# k! u6 z9 o) _; r$ G3 F+ eStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
# V: V& O( X! U. [- O# ^5 ]3 n第418行:$tag_sel = array_shift(explode(' ', $tag));
4 W& }# _: G1 d- u) K, U: ]4 T
- I" g) O: e* R- v5 K* D# X# ?0 |* B解决办法 1:
9 K# v7 m8 i9 w: P+ z6 v5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
% ~/ U0 h; A7 | r% }8 l
* m% b9 Q+ w' b7 z, R$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
/ B# T) O$ D3 t, }* ?& s: |(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值. r# E. A1 L: v m/ c* e' E+ b
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
5 q: h/ o1 p' x8 x , N: x: e1 E/ ^' Q( s0 z) D# n
如:7 ^+ h9 r8 Z# i# P* G/ ~- T' J
function get_dyna_libs($theme, $tmp)& N1 H) P0 D; s" i3 {; p5 X
{7 T2 ~' N9 S; t7 D
$extsub = explode('.', $tmp);
~. C2 d* J% F* V5 O$ext = end($extsub);/ E" H; a4 B* b/ e- m) x
$tmp = basename($tmp,".$ext");
2 z# r' @/ ]& o$sql = 'SELECT region, library, sort_order, id, number, type' .
2 T/ [% ^0 m2 ]9 d9 b' FROM ' . $GLOBALS['ecs']->table('template') .3 Q! Z6 ^: e( l* h1 ~( l# O
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".. b8 { C f: `+ b5 I
' ORDER BY region, library, sort_order';4 \# o. o0 D/ D8 g, v7 y% M
$res = $GLOBALS['db']->getAll($sql);9 }. v3 p% M' ?0 F, ^
$dyna_libs = array();
) l# K2 ?; O# kforeach ($res AS $row)
1 |5 Z2 x9 ?( i, O{
$ q& ^/ U! o* d8 Y0 ^% D; \" v4 t$dyna_libs[$row['region']][$row['library']][] = array(# Q) @3 w. V1 S2 D
'id' => $row['id'], o: R) e: z& u7 `; @2 e* m
'number' => $row['number'],
S4 P. j) {. ^1 |) }'type' => $row['type']/ u* z. V" \/ z1 a
);
; m$ c g; y6 }}3 c( P6 w1 n5 G2 k+ C: h; d
return $dyna_libs;" d" E. x8 W" l: }( H3 j
}+ N" d; L2 Z6 q+ t
& P3 w8 V! v# B2 l5 j
将$ext = end(explode('.', $tmp));# v3 J+ H: T/ _7 c/ _7 \
改为
; I% \2 s4 }! ]0 k8 l: h, b/ Y$extsub = explode('.', $tmp);. U: Y U1 I/ L3 T3 w
$ext = end($extsub);
i- [- _3 s5 {7 o3 S
# f: ~+ T+ _% @+ c解决办法 2(屏蔽错误) :' n5 N i$ }6 S( X @: ]* b
& f0 W. Y2 W8 q1 n/ r# f/ d或则如果这样配置的话: error_reporting = E_ALL | E_STRICT: x0 a% u$ c7 @7 h* P0 [1 ~
php.ini中有如下设置:
9 S o0 }$ w6 m" serror_reporting = E_ALL | E_STRICT
/ N; ?" T5 y4 j9 n [ / u! U/ L, Y$ U3 r, t" G
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
2 D) O& @0 Y2 ?2 L% t& o+ z7 FJoomla其实是建议取消error的输出,如果出于调试需要,应改为( _$ {5 P: c3 ^9 S6 [7 }
error_reporting = E_ALL & ~E_NOTICE
; |# d; S9 X1 q( p- x- D
p& ~1 Z, D$ B2 \1 q5 p问题得到解决。
, L" N$ L# J o3 q% |) \
! s2 X, o y6 \, @' h1 P. J$ K" o' p" T$ O0 Y& H; c8 v( C* ] v
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
9 e, }! ]& I/ o9 K" [; \* N" Kphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
# t$ S/ I" W) T8 ]改为 :
1 k& ~* o: p* [! z! Z# W7 N$extsub=explode('.', $tmp);$tmp=end($extsub);
( E: h! X/ D4 O. C* _3 [9 J
9 s1 ?; A* D2 ^6 Q3 M/ ~ |
|