|
|
; l; v& C+ H- N7 t" }
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 错误2 k: r9 K0 e; O
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:2 o# f! P( T) m8 Q |
1)将function gd_version()改成static function gd_version()即可。% @" a- c# A* @- o3 m
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:, M1 j" c7 O' O3 Z: [
$p = new cls_image();/ C R; n8 H* d0 s- G9 ^
return $p->gd_version();) p. o; d9 O t: ^
: x. ?& l6 T6 R' n
# s5 `* j7 a! d+ g下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:" N/ {- { _. u
安装进程已中止
: O R2 T1 k+ Z创建配置文件............成功+ d' i/ v. M1 ?2 {& K' Y
创建数据库............成功
2 O* K$ L$ u3 a9 e6 f6 [' C安装数据............成功
6 T# V, K; [) g9 Y! Q# T创建管理员帐号............成功
+ g( o+ k1 g( L4 T5 A* }% m处理其它............失败- Y, o$ A- |, M+ m6 l
) e; [/ E# X: q4 PWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5284 C9 a0 d( p$ M5 T, n* p$ U M
无法创建目录,无法创建目录; l1 L: `/ O, H" O. q" Y6 p
解决方法如下:
2 j6 n7 h! i7 X) \点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: ( P7 F6 }1 a* I; B$ [$ M
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。) \& n/ N$ U4 G2 q/ B, P% c
不安装测试数据库一样可用,一样正常,不是问题.....3 R2 |% n' K1 \* I! f* p, U
愿看到此文章的朋友能解决问题; $ X# B5 M2 N0 r _1 ]* D
$ K+ S& Y% Q% B1 e7 O% I+ x2 R h8 X
2 S4 ~$ c D6 ], j3 Q& Necshop如何解决includes\cls_template.php on line 418错误2 I: ]0 f/ h; A; ?; f
4 ?5 d& T' R. u6 J4 ^7 K1 J. M5 Y之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:* L& A2 a# e( L9 \1 Y! N' n
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
9 n/ V; T/ h& p1 H, {第418行:$tag_sel = array_shift(explode(' ', $tag));7 B. {0 M/ X; S- U: \" N
7 Y) r& D/ Z3 D. k; G# V
解决办法 1:
6 @8 h4 ?$ r U+ \" y# I5 ?# h2 p5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
- Q' _- E1 I5 l3 b0 @! H' p' q
S/ {5 j4 Z, x: Y, F4 [$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
5 D3 ` Q2 x2 |2 w1 ~9 e(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值. b: H& C1 L, c& `9 w! @/ ]7 c
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决, c. w. n' e5 P0 V
* i$ w3 x9 |: a. Z& s9 F如:
! ^- y/ V: ?5 G4 M4 {8 f& rfunction get_dyna_libs($theme, $tmp)
3 E3 @5 i( N5 I- q{
+ v0 V$ I5 B9 i7 ^" r$extsub = explode('.', $tmp);
. I6 f1 C) s! ?6 q: z: t$ext = end($extsub);7 V$ _2 q+ p6 l' b3 ?# H3 G3 `
$tmp = basename($tmp,".$ext");& f) W3 I y& m' r; s
$sql = 'SELECT region, library, sort_order, id, number, type' . D; F4 {# H; X s
' FROM ' . $GLOBALS['ecs']->table('template') .
/ a% O5 c, Y. @. L2 c2 A" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".2 G+ G& m# ^4 d' D5 o! ?
' ORDER BY region, library, sort_order';" b) Z% T* n6 N1 d9 x
$res = $GLOBALS['db']->getAll($sql);
( X6 C3 U8 |6 l ^$dyna_libs = array();
9 G/ B |8 m$ T: iforeach ($res AS $row)% u. z+ Q/ T' H9 Q3 z1 V
{6 G7 V* J% q2 p* p T- P1 ^0 I
$dyna_libs[$row['region']][$row['library']][] = array(
- D; a6 _/ P' J# [/ ^'id' => $row['id'],0 c$ L0 B; D1 N, P0 l3 n! s) B
'number' => $row['number'],4 b* T- _3 F+ w: P$ R- \
'type' => $row['type']
" a" ?5 i L2 I1 f& }2 b: b);6 X( |5 x7 w6 R* O n8 K" w
} _2 ~* h( }2 u8 o$ i2 T* i
return $dyna_libs;
* n; \' g; X6 q, X9 B}
; z0 ^# I1 d$ E* _7 D$ [ 2 b9 S# [- B: F
将$ext = end(explode('.', $tmp));
8 u* v S `8 {2 A& q1 U. v2 e) ]改为$ m- T* |" [0 {5 S0 ]* z: e
$extsub = explode('.', $tmp);
3 n8 X/ u( h0 u0 r/ S7 J$ext = end($extsub);
% \: S9 P) {2 p) L) h
1 ~/ t) l# I+ @- a! h( g解决办法 2(屏蔽错误) :
* @$ Z/ f0 m5 T: E 5 W( | w6 U, K$ l, f
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT8 W# B* E- b; Y& ]+ [7 P9 j6 y
php.ini中有如下设置: x6 A( B D# {, M5 h7 [! T
error_reporting = E_ALL | E_STRICT
* @2 ]9 d2 f" N7 e+ t+ x) n- t M0 u
3 Q. ~; K. `! Q, ?这是说,显示那些不符合编码规范的警告(coding standards warnings)。
, ~' i$ g1 d. z8 }; f, s) G }; k. `Joomla其实是建议取消error的输出,如果出于调试需要,应改为
( k& ~. U6 d' e' @error_reporting = E_ALL & ~E_NOTICE3 C: `! c' G. B6 k+ R+ U
4 d$ |- v. j" K/ l3 N& T问题得到解决。* V8 L/ C, X! }6 z2 K: I
* @6 z1 D; D, m9 }$ _' b2 x
& @4 B8 I# H' c) yEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
& [2 o. h0 D: ^2 x! p5 {1 Z2 Aphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));8 a& X6 N6 t' d; Y7 f' O6 \
改为 :
/ Y- o4 j/ R9 t% w) ^$ W$extsub=explode('.', $tmp);$tmp=end($extsub);" K1 G* u+ I \; ?. k' a# I. N
% v N- E4 i' I4 y7 n; n
|
|