|
|
4 x+ q" ? {7 U7 k( {5 Q$ n
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 错误; e$ ~, F% ^, _' s, d
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
' ~0 B* j; P; S+ G$ h 1)将function gd_version()改成static function gd_version()即可。
4 I0 q2 ]- {5 V$ O4 i 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:4 r3 [6 Y' n- k
$p = new cls_image();
' v! z8 ?% z; ]" e+ e9 M$ m+ g) Rreturn $p->gd_version();/ F- k2 ^4 Y' m( O/ m. F5 O; _9 M
+ q% O1 Q3 T# f$ p
0 @ X5 C2 ]% [* Y7 r3 ~. h下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
) R; q' o- n: l3 a, a( n安装进程已中止
! Q" g% w; z/ K, x9 Q! F创建配置文件............成功2 N4 T7 b( G8 d4 u
创建数据库............成功; q! l9 n$ {0 F! ~. X: T
安装数据............成功/ ~- w% ^7 q0 `6 A" ~& V/ p N
创建管理员帐号............成功
( } J: Z! \( Z9 D6 U! B处理其它............失败; x: E! G0 w% Y( P
$ \2 x! s7 S/ }$ w8 y7 W/ l
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
9 v3 ^7 |4 W& ?- R1 D无法创建目录,无法创建目录
4 ]- K2 W" s' ~5 D解决方法如下:8 r: h+ W2 G" x. o% _. ?& @# _
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
+ o# i+ }" k& u/ W, L(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。2 s+ H' m* H1 G
不安装测试数据库一样可用,一样正常,不是问题.....' N8 X, X( \ }4 P
愿看到此文章的朋友能解决问题;
8 J7 T6 S4 j9 b7 f0 O5 n# h7 X
& Z, r0 S) ]- y8 W( S* f' R# g7 {* K) h2 S4 J: ^# Y! j
ecshop如何解决includes\cls_template.php on line 418错误1 F) z: v7 z& v1 G# f' y+ y, ]
" w2 k: ~& _; V+ K之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
4 B3 p( B. w$ S8 P: b! X% PStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418, c, e7 t9 s4 l( h! s
第418行:$tag_sel = array_shift(explode(' ', $tag));
4 C2 T/ N) G( o1 b ; K$ }. g2 g3 P
解决办法 1:: J V, r |) J9 t0 d
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 9 \9 m. |0 X! @& P) d' @% l
" ^) l" c' n* D; t) W$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
6 D, g7 c7 `0 O/ p* a+ S1 K(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
7 F9 v8 g# r: p7 n) x同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
7 v- Q/ H2 N1 Y3 _( N
2 s" B7 m3 a5 U6 J! G3 c) I% \: w3 V如:
$ D+ s/ q$ k* h% F- \4 ^/ Sfunction get_dyna_libs($theme, $tmp)
3 o: M1 ?% ]& r- _{- m/ y; X9 z4 g" S
$extsub = explode('.', $tmp);
* [& Y |# T* Q4 Y4 v: ~, J$ext = end($extsub);7 M" u8 M# \* a; Q3 W% V8 T: s, U
$tmp = basename($tmp,".$ext");
0 M2 o$ [2 t( [: o7 z" |$ O$sql = 'SELECT region, library, sort_order, id, number, type' .
6 h, z& S1 { D' FROM ' . $GLOBALS['ecs']->table('template') .
7 Q% O6 w, ?' j% ~, m6 |" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".! |* F4 W* Z8 Q/ v1 [/ M
' ORDER BY region, library, sort_order';. H% y2 K$ a9 z6 K9 U7 |, i/ B
$res = $GLOBALS['db']->getAll($sql);; G4 F* w7 D, s- x7 z' r
$dyna_libs = array();1 S+ R$ l* Y# v5 {5 K
foreach ($res AS $row)
7 g* P3 A. x* q% b5 q' q{
" v1 J- ]- Z5 r2 ]! `- p0 ~$dyna_libs[$row['region']][$row['library']][] = array($ y& K) I( W4 f" M; T
'id' => $row['id'],: n$ ?4 b' W7 J( f- f
'number' => $row['number'],0 q; M4 I* }$ J' M' h
'type' => $row['type']
! i! Z w. Z- z) H9 i7 T2 c1 M! Z);
* o* C- S( }; }, G8 x) Z}2 H0 `5 L& y7 @- g O2 W7 m
return $dyna_libs;
& L' C% }4 x0 Y: G5 ]# ?" u& {}- t0 _$ J. P) @8 n" l
- l/ r% q( O+ z4 L9 F
将$ext = end(explode('.', $tmp));
* A8 d+ d- k# _: v5 h4 u% P改为
) c* w4 r$ `- w& L* z- t$extsub = explode('.', $tmp);. s/ C8 |0 o, a9 Z
$ext = end($extsub);
1 P6 W* \4 z$ @. d0 v+ n 0 T; O* ]$ ?- H4 w+ J8 X
解决办法 2(屏蔽错误) :
( B+ t# u; l( \; A0 G, W9 Y
8 n8 f- `# M; ]. J或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
/ f$ F# K @. `% r7 rphp.ini中有如下设置:' x! I, ~4 ?8 V g7 [- u6 f8 t G% K5 A
error_reporting = E_ALL | E_STRICT$ Q% O ^6 W# A* ]+ P8 Q6 ]
; E& |2 P& [( u6 k5 \: Z# O9 |0 |
这是说,显示那些不符合编码规范的警告(coding standards warnings)。4 p; |' {, w& j+ J* R! T5 ^ o
Joomla其实是建议取消error的输出,如果出于调试需要,应改为# p! h7 [: B# k$ `8 }! g. E
error_reporting = E_ALL & ~E_NOTICE
7 V7 f$ J. y2 R4 W1 ` - m! q U1 s2 |, ^6 D
问题得到解决。
2 T6 V7 C" p- J2 l0 R+ W1 }# }
9 i I. T" j: g
& L$ f8 T$ P/ S/ ?7 E; sEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
5 p4 E9 l8 K+ P8 i' a Nphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
0 d' w, X- H+ d改为 :# B3 N* u$ f) W8 v! F1 g) c: @: i
$extsub=explode('.', $tmp);$tmp=end($extsub);# o2 z4 n2 w; B" f: t% }
6 @* h7 r; \" a# x" }
|
|