|
! ]4 G, J) y- |1 E$ i) T7 Y* S
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 错误7 g8 H2 a. ^' k' X0 V, ^
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
% K$ `1 p5 E) S2 [! K! a1 s- R 1)将function gd_version()改成static function gd_version()即可。5 R8 l$ J2 {! \3 k( p
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:% ?" h& W8 Z) ]- B! e( J8 B" t9 T
$p = new cls_image();
; s6 B) {3 |' f# U8 d& Hreturn $p->gd_version();4 i3 j3 P: Y, b- E4 W
: W& u! \/ I; Z9 r' ^% l# ?* r0 \
% `0 z$ l3 Z9 j- k' T下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:' x$ e( ~+ U1 i2 M
安装进程已中止* O+ ?3 k! X2 q0 {
创建配置文件............成功. d6 G- c, w$ r, j% Z4 f% i
创建数据库............成功. O" `! m5 ]/ C- b/ s" h9 s
安装数据............成功
1 U; c) c/ O# f+ s7 U0 p创建管理员帐号............成功3 i9 b. ?' x0 i- X8 l6 F
处理其它............失败
1 N9 n% C. ?" G9 ]" A" r: H7 }: m6 v" R9 B! M" q, L
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528' _7 P1 Y4 B u# `, z; ]& g/ y) c
无法创建目录,无法创建目录
# i9 `3 b: I: b0 ^. A+ \解决方法如下:6 G0 k0 q3 x( g; r) |
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: . L) G. Y# o: D+ j
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。- n% M/ O& Y: \9 t: @- v
不安装测试数据库一样可用,一样正常,不是问题.....$ q$ E7 _3 `+ @# X
愿看到此文章的朋友能解决问题; 5 z! `5 {3 b* R- n: f2 t
3 s. a# f7 t Y1 v' P4 Q$ j& B% a. [- E9 `% [+ v$ T, S
ecshop如何解决includes\cls_template.php on line 418错误3 G$ R4 w& k3 Y9 D6 p4 }8 h7 D
# @/ a. l6 z1 U6 C之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
7 o3 e& Z7 ~3 F7 O. j/ ?Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418. n d$ a' H* f' {. h4 F6 \( O
第418行:$tag_sel = array_shift(explode(' ', $tag));2 B% \/ Y( x+ j* {- B. b
* m9 {9 D7 V2 R5 A# T5 \6 C解决办法 1:
" W- P) R7 ?; ~5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 0 E: D; h! S+ I* j7 h4 a2 D F2 R+ p
9 K, e) W2 l- L# U9 ], K i
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);& P; k) {0 Y& m3 B7 ^! V+ O
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
. C/ z4 `9 E+ W2 x2 X0 z同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
: m; s/ H( L/ v9 `1 F
4 W' h6 s: P. y- D: ?# K如:# a( S- K: k; x7 v# w& [& a7 p
function get_dyna_libs($theme, $tmp)
q6 o- P( i% Z' D" L{* h: e) L" _) ^1 A4 S& d/ T
$extsub = explode('.', $tmp);: b! U0 w& S* l" R' [; _; N
$ext = end($extsub);% x8 Z5 J, A' O
$tmp = basename($tmp,".$ext");
% K; o$ g3 K& g2 w4 l# y$sql = 'SELECT region, library, sort_order, id, number, type' .
2 l6 B$ O+ E G1 g- \ S5 j m' FROM ' . $GLOBALS['ecs']->table('template') .- J! P3 j6 k( `, p. x+ n
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
% C5 c. J; }9 }' ORDER BY region, library, sort_order';1 ?$ K$ [/ s, r7 M: r
$res = $GLOBALS['db']->getAll($sql);) `$ a' I4 Y9 G, y
$dyna_libs = array();
3 E( ^5 I9 t% t# ]8 q3 ~9 {, D% Yforeach ($res AS $row)
/ }: l2 ~5 f+ y1 @& O9 A$ X9 h{4 Y! C8 A1 Q! e$ z3 p
$dyna_libs[$row['region']][$row['library']][] = array(" X7 E4 ?; l/ N& U/ s0 m( \5 Z. E- i2 A9 z
'id' => $row['id'],9 u$ I2 d5 @$ |! \* F3 _
'number' => $row['number'],* D3 C- U$ p, ]# y7 W5 h; C
'type' => $row['type']7 A$ @# I. ^ ]+ ^5 J+ w! \2 @
);
- a& f: z! j: }* {}/ I8 F5 W. t$ E0 W n \% M" _
return $dyna_libs;4 U- L& |, t/ `
}
( ^$ Q6 W* q6 C3 C; e, O # G7 y2 S! U7 m/ j3 q% A* c( Z
将$ext = end(explode('.', $tmp));
8 }" U3 f% x; r2 s/ l6 g8 R改为
. k+ l% q- V; x3 F, W% {* _$extsub = explode('.', $tmp);8 p B" ~( Y' X: i' H1 l6 i
$ext = end($extsub);
, t" ?5 o* `* ?5 _1 C& v( a' | 8 a& x# S, `( z- m1 u
解决办法 2(屏蔽错误) :
2 C/ b( M% e+ S1 ^$ d% C) M, h
+ O; h( i! Y7 M5 f1 ]/ ~$ I或则如果这样配置的话: error_reporting = E_ALL | E_STRICT2 O {2 y6 R4 ?
php.ini中有如下设置: i I ]' e! J4 c$ @( Y- m4 {% y1 X0 o
error_reporting = E_ALL | E_STRICT
. i) P$ D* S( T# j ( }/ N M6 f. n5 N' P- n& ~
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
+ S0 t# A* R, ?1 g8 P6 H5 I/ kJoomla其实是建议取消error的输出,如果出于调试需要,应改为
3 `+ J5 P+ w) w6 [8 g9 S( c& verror_reporting = E_ALL & ~E_NOTICE
, d4 a# a$ ?! K! ~* l% e 7 S! Q) u9 l5 ^# X
问题得到解决。
6 r9 X& [+ R; ^$ @2 n4 Q: l+ T! B5 H+ i! g) n7 m$ i5 X' H
" Q$ ?5 k! G- ~( L5 V8 H, i
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line7 r J v- @ U$ `
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));4 e+ d% L& ^0 e3 o
改为 :
7 v( c1 _- P% c* L3 N$extsub=explode('.', $tmp);$tmp=end($extsub);/ L& _/ @* a4 N% x$ b5 V6 N
" _$ Y$ d1 o1 T9 e1 a6 s1 ? |
|