|
|
& A- L! @3 \4 |& ~) a2 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 错误
; ?8 Y; H; N* C0 V: l- l3 S 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
, b5 x+ Z. |3 @. b0 d9 g) g" e 1)将function gd_version()改成static function gd_version()即可。- ]/ l @5 g. I3 {
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
1 y0 d2 j* r% Y9 M: g6 e$p = new cls_image();4 p6 c" L! |- h: z# O% U
return $p->gd_version(); F7 Q) m6 e' @3 ]/ d# g7 u3 P
. D) k9 K; z) Q: S9 T
, N0 T( ?7 |- b
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
9 x( T9 L7 b/ r/ R! t, y) Z8 g% A安装进程已中止3 C( v; @" q2 c, v6 a3 G
创建配置文件............成功
8 U2 X K6 ^3 o- T' o创建数据库............成功7 L6 a: O4 g0 }$ n1 r
安装数据............成功) [) I8 S& t; f6 Z
创建管理员帐号............成功+ l# ?7 t' f6 B3 u
处理其它............失败( U2 S, A6 n- }. Q! z( q4 J* G. ~
& y" o# U/ H7 n, m, ~6 e0 l, e
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
0 J* z/ h5 J# l- P7 N无法创建目录,无法创建目录
. A8 r- b+ T& C$ q4 Q4 c解决方法如下:
: R/ A: v; B0 j4 q* R/ Q点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: - s5 t% w, a2 V5 H
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。* X% j0 Q( d+ d7 p& U
不安装测试数据库一样可用,一样正常,不是问题.....
3 c S2 Q2 O v8 N$ ?" S# v愿看到此文章的朋友能解决问题;
$ O1 K/ U! K' { Y2 C4 G( h P& W3 V
) i/ T5 r( c3 P' t! u. [ecshop如何解决includes\cls_template.php on line 418错误9 Q" o$ Z' Z- h, O2 V4 j
# K- c h- z, w6 r. l5 q# X之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:- p4 M# |, ~/ W9 O" |' |
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418* y" _" D* e0 ~
第418行:$tag_sel = array_shift(explode(' ', $tag)); h. B t* ^. x/ j! i# h
2 ~5 A" N. T! B5 H( v( p
解决办法 1:5 I( H9 }9 ?) U9 R+ O9 Q; {! T+ Q1 i
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: ( {6 R' S2 W# B; Y8 `
% s4 j) k. ~5 w, f& r% I* r
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);: j9 \7 z+ P& n' s# X
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
0 G0 D7 A8 a: Y6 i# W0 N同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决: |* B/ |+ O& G% ^! W0 p5 Q0 D
4 f6 O+ S1 S: M! X$ W6 Q) |
如:: t y: x7 E3 v8 N7 E, [) u
function get_dyna_libs($theme, $tmp)
G2 s; d3 A: H7 k' n6 I{
3 T9 W; x( v6 e( A$extsub = explode('.', $tmp);
9 t3 Y4 ]5 l0 R! @$ext = end($extsub);
' a1 w y% A& @9 J; F( U, |' q. _ b$tmp = basename($tmp,".$ext");: o8 {8 E1 u5 i$ A5 P
$sql = 'SELECT region, library, sort_order, id, number, type' .
( M* h7 e" X7 [' \6 r0 L' FROM ' . $GLOBALS['ecs']->table('template') .
# ~: q- C* d' t* V" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
5 n: b; d5 _4 Z& s8 E; \' ORDER BY region, library, sort_order';
8 C2 h% s. r* E; B3 B$res = $GLOBALS['db']->getAll($sql);) u# ~+ T" n% W% w R: @
$dyna_libs = array();
1 J- b. T- F. z0 \foreach ($res AS $row)
" x$ i$ m6 o# O* t3 ^6 y{8 Q0 p, v' a& `8 _6 M4 C( K. n
$dyna_libs[$row['region']][$row['library']][] = array(5 V! K$ _: ^1 v9 s! ^, T( ^
'id' => $row['id'],
+ u6 h& h, H& L7 L! |0 h'number' => $row['number'],! A* R1 T( t& F6 f
'type' => $row['type']4 b" a7 _- r) z, c2 b
);
- g5 B# x; w& T( X: \( H& e; }}
: B! f+ Z# B9 h1 i2 L. preturn $dyna_libs;
8 ]3 f) v% }+ K7 |, X9 e1 R# I- ?}4 a' @ Z, F9 d/ w) w0 R
% F1 c6 A" t+ h3 K将$ext = end(explode('.', $tmp));+ }$ S3 O4 |# A# T4 R$ m' g
改为/ ?& T4 W+ Y8 n5 W, k- N. E
$extsub = explode('.', $tmp);& G& h. I, e6 [4 b$ u4 P) D7 ?4 ?
$ext = end($extsub);
$ v/ h% m2 p% o; F$ p A$ j
) Z0 g S$ B( ^3 a解决办法 2(屏蔽错误) :
7 _/ Z2 z: ?% T- |9 y1 a - R9 ]. e( M- W4 x2 G1 l7 O
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
" r5 Z* s/ G+ q c' Ophp.ini中有如下设置:! a4 G8 K% c3 ]( t1 O! a, R1 t
error_reporting = E_ALL | E_STRICT( J+ A B; Q+ |' e: W7 R1 q
' z9 J( O" ^) [# z! x. S
这是说,显示那些不符合编码规范的警告(coding standards warnings)。4 [% b" `/ C' E* X5 V
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
$ |8 L% |. F, x p+ p$ ferror_reporting = E_ALL & ~E_NOTICE; E% @! z$ h, P7 S2 P
6 C! Y: Z3 C- x
问题得到解决。
7 [/ y Q4 K) ^" \8 s# {" M
' @* S9 ]" \! C h+ i, Z& y" X7 w8 B% q
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
' v8 f. r+ n' I) J" @php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));; _% d, G; n9 |
改为 :
' m/ W% w0 d0 j4 [! g$extsub=explode('.', $tmp);$tmp=end($extsub);( r/ v* F1 E5 S
: p$ ~4 b/ u/ G
|
|