|
( \3 i$ L& r* 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 错误
; i% G* P- g5 [ 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:( v7 g+ L$ L: K0 S* e1 s
1)将function gd_version()改成static function gd_version()即可。
( `4 }4 b! R) v 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:" Y9 N! d4 F" {( |' S- m
$p = new cls_image();
; e. n# @* X/ Q: b R* \) {return $p->gd_version();
+ a3 _: s& r0 m5 ^ Z5 j: W: O' b1 z8 y4 W+ F9 O% P4 t% i9 d
+ w9 _4 x: E8 y3 x" E
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:$ K( [( {. E" ]. A
安装进程已中止; L- r! ^7 g/ f' u0 X6 Q
创建配置文件............成功
' |5 W: B' ^1 v; b) j! R& c. y创建数据库............成功
2 l) G5 l; b% W2 s5 v9 H' H1 e4 |6 C安装数据............成功' P! |: A9 }) U. q* ?
创建管理员帐号............成功
1 I5 h2 b. w/ Z9 U" v( }处理其它............失败9 W" }4 Z# w/ t* f
& D9 K0 T0 Y* z% ^! N0 J' B+ CWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528: P! [' |; W2 m" y
无法创建目录,无法创建目录. W2 q/ R) n! a" d
解决方法如下:$ y' s6 B5 s& g" @5 f
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
$ h7 {8 J, T3 M- l(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
, I9 d7 |3 q+ C1 |* U& h不安装测试数据库一样可用,一样正常,不是问题.....
/ t! Y, F" N) ^( ?) a E, Q愿看到此文章的朋友能解决问题; ! j. z0 l1 L9 F6 }
- V" R% f; Y7 a6 s; F0 f7 G# J2 t/ f8 S
ecshop如何解决includes\cls_template.php on line 418错误0 c9 K6 O6 t2 Q: i
) [% {* S% _ K
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
: _; i0 n" ~& O7 ?Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418- J1 d# l( s$ o( n
第418行:$tag_sel = array_shift(explode(' ', $tag));
4 K# z1 T2 j$ i) A4 j 4 z M5 y$ X0 s& F9 |
解决办法 1:
" |/ u3 L$ p; D1 ?# O/ c8 h5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
- X! K9 k+ A/ e7 N6 ~
, R" q% l/ }. D \6 W$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
- ~( O ]0 c- {. v8 ~0 r! `(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值6 \7 F8 f( [8 X2 [1 k# O
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
4 b$ [( a p" O1 J! F! L
1 q7 x) ?& Z4 t- l1 @, L如:. [! L( M" V3 C( p& |) ~% `* G
function get_dyna_libs($theme, $tmp), I8 }8 h# N9 g, ]4 r
{
: H& {: r! }+ q, ]$extsub = explode('.', $tmp);
1 t: Q0 a; G* C1 ]- f$ Y( u( o$ext = end($extsub);) I, k' R! u, M% @ Z
$tmp = basename($tmp,".$ext");
# `( {8 O* h+ V! X5 h; b" z" D5 E3 T9 ^$sql = 'SELECT region, library, sort_order, id, number, type' .& B; {* I1 C8 H5 C
' FROM ' . $GLOBALS['ecs']->table('template') .5 }0 T P1 R4 Z* {8 `
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".$ ?% i7 V: O4 ]6 S% V2 P2 z
' ORDER BY region, library, sort_order';
. a! t j7 g( B$ `$res = $GLOBALS['db']->getAll($sql);
8 N9 h K' d7 C; s y( p% ]8 X) `' }8 S8 o$dyna_libs = array();$ k4 _1 ?9 d; t- \! |7 i) E
foreach ($res AS $row)0 g# S5 s! a7 P: v
{; l2 b" [7 m+ M
$dyna_libs[$row['region']][$row['library']][] = array(# r2 `' j* J% \7 v
'id' => $row['id'],
1 Q6 W6 n/ }) _5 L9 {'number' => $row['number'],
+ R, T0 v6 t- V) w8 t'type' => $row['type'] v; {9 p$ }4 i% w
);2 t3 w, y# x! u& O/ K
}2 E; l" o' v: ` R3 C; V
return $dyna_libs;. h' ~% ?; o. p
}* f5 R6 y! S+ K' M9 Q$ F" I% d
' S: J: M" w) X7 L& c# w& O
将$ext = end(explode('.', $tmp));
( E. _( Y' x4 M$ l! w. k& \$ d改为- l7 K# i8 q' G' D4 d1 D7 d
$extsub = explode('.', $tmp);; o h7 i8 s3 E4 z k6 A
$ext = end($extsub);8 \5 u9 l; g+ a7 q- r/ b
( N7 i, n4 F) o* \( t
解决办法 2(屏蔽错误) :
+ y8 _4 ?( |' C 0 S# Y/ I) u/ a! {- c3 }0 W$ E
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT" X% a* _7 |, \0 g5 h
php.ini中有如下设置:
+ V9 L( y% L/ ^! `error_reporting = E_ALL | E_STRICT% T C A( I# y. `) ~* F, [
" H6 K3 c7 P! {7 c
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
: q0 V, K1 a9 {* RJoomla其实是建议取消error的输出,如果出于调试需要,应改为. N- m9 e% e3 \% L" ^$ \
error_reporting = E_ALL & ~E_NOTICE; }+ h/ I1 Y$ g* |. S
# V- ^4 F5 S" N/ u: e0 e5 Z. A
问题得到解决。% A3 _- `4 I; Z$ I6 j5 [
8 f& g. Z! L$ A( d0 l; a% h
( c B+ M" A W |! \) A0 {Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
/ s/ Q2 a/ d9 p& Iphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
4 p {" d$ B" o! g V4 e# G3 Y改为 :
: E9 E5 A" J3 q0 d$extsub=explode('.', $tmp);$tmp=end($extsub);
; y6 W, ~& S# T
8 B- G1 m$ E7 w# u$ p M/ { |
|