|
|
1 g, B- B4 ~/ s3 [3 H
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# Q/ R5 m' d- X; E8 P' C. t 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
2 _; `2 ~% T2 X; u N 1)将function gd_version()改成static function gd_version()即可。2 ~3 D8 N V( J! A7 o# E6 j
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
2 @( ] w9 C4 i. ~, ^* c$p = new cls_image();2 c4 |% O$ `& n8 e1 {/ B0 z
return $p->gd_version();
L! X- q* P/ _) g
4 F" h" y1 W4 A) r! c' r3 F% v, C: ]
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:3 e% M' R1 c; E9 q1 C- }% D
安装进程已中止4 f9 z4 G2 |- a3 T, n
创建配置文件............成功- r% N5 M, N4 ^4 N% e
创建数据库............成功
+ A: R9 A, o& A+ E/ _$ Y安装数据............成功! Y* d8 Y3 G; L! N
创建管理员帐号............成功
) n8 j$ N+ M2 w& U处理其它............失败
- A' l/ p2 I4 O% H/ f% a2 I. X3 }# V& e2 V
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528( ?! f. I4 Z# E) S; p7 j
无法创建目录,无法创建目录4 l, S! w2 _4 B" r
解决方法如下:' B' E' D' ^7 L" ~
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
/ A; K: I: P; R _* k(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
9 M4 ~' a- H1 r/ }7 O# X不安装测试数据库一样可用,一样正常,不是问题.....- S" E5 y; x6 R; e9 W
愿看到此文章的朋友能解决问题;
* v5 c5 a/ V% R$ I j0 v" M
: z0 b0 O, Q$ a+ z
% t5 `" z1 z. ^+ U x3 F! Zecshop如何解决includes\cls_template.php on line 418错误! I8 X4 j) m3 D( J4 c3 j. t8 S
, D1 ~/ [' p' n" U之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:) {+ T: C% Y5 X+ o( C1 F2 v
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418- @4 \4 v7 t2 H- E. a7 f. L/ a) f
第418行:$tag_sel = array_shift(explode(' ', $tag));: c' K' O( m' `
" o d0 e: }! W* W' U* }解决办法 1:0 i; i# x g( G
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: : K2 }& @/ ^ o" P. O" s n
7 u( O7 f. ]. g! y. k
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
! o! f( A4 ~( g3 ~4 u(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值0 c# {6 Y1 D! d
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决4 I0 Y1 L5 r# ~ y" R
# W6 |# ]/ H' ^! {+ ^' E如:5 N6 m+ l4 Y6 P8 i
function get_dyna_libs($theme, $tmp)$ U! g! s1 P) ~8 ]7 K+ `5 K
{
, M3 U6 f p, ~- J# x# e$extsub = explode('.', $tmp);
% L' s, v3 ^3 J7 n9 H0 p m3 s, n- Z# Y$ext = end($extsub);( N5 t- ?; l+ b9 g
$tmp = basename($tmp,".$ext");8 g" A% B$ p; P' C U
$sql = 'SELECT region, library, sort_order, id, number, type' .( W$ r6 H& Z2 Y. B: W
' FROM ' . $GLOBALS['ecs']->table('template') .5 u) R1 J2 ^& Z) ?9 k8 t# Y4 o ?
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''"., n: N/ {6 g4 b' l+ I
' ORDER BY region, library, sort_order';! q, e- @ J+ g, f# e
$res = $GLOBALS['db']->getAll($sql);2 q& o% j, `' ]5 ~6 E
$dyna_libs = array();
2 O$ B F8 ~. Q M$ l6 v1 w$ Eforeach ($res AS $row)
9 i e* m9 ^3 }* G% Y5 b- {{) e' k& v8 S. d) E* D; M$ v
$dyna_libs[$row['region']][$row['library']][] = array(0 N0 W1 q' D/ c/ K0 K" W; G
'id' => $row['id'],! x) Q5 q- _1 q4 f
'number' => $row['number'],
% i G h" y- k7 c7 [& K5 a. G'type' => $row['type']6 u" x: [5 s& ^
);7 z: [* F Y, R# l7 W
}' Q& s# R: Z% x Z! g" B( V! g& }7 t
return $dyna_libs;. c; E3 P* j7 M
}
6 ?0 G. r7 z, o2 } " a: H/ ?# j0 W* C( [. C. H9 v
将$ext = end(explode('.', $tmp));" v) F% d/ h+ G) p8 O
改为
n/ ?5 K% `: z8 ]6 m$extsub = explode('.', $tmp);
2 R" w4 V% n- J* G# l% y. h! u$ext = end($extsub);" o# U6 m" E8 E. R: k# r) X
' k7 t: G. U7 w2 Z7 t$ v解决办法 2(屏蔽错误) :, N! E5 _; G- _
9 W$ Q, M* D8 M+ w
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT3 E0 V$ v" P m1 X9 L, t
php.ini中有如下设置:
" h: U- b* t- S# Yerror_reporting = E_ALL | E_STRICT
5 F" o7 _8 i$ L- `1 `4 S
& K' B6 o6 T n7 s2 L) i这是说,显示那些不符合编码规范的警告(coding standards warnings)。
; S2 k( E/ u* o; a9 @% \Joomla其实是建议取消error的输出,如果出于调试需要,应改为
, D4 L" P& P0 y- X$ l7 Rerror_reporting = E_ALL & ~E_NOTICE
( I* x0 [; r' T 9 a$ K. B( N8 x) T
问题得到解决。
5 b6 W7 o- T- U9 l; k! W$ ?! \! d$ B! K. V4 z7 N
/ r, A6 A# ^5 s! }1 M. T
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
4 p/ }5 c: c7 Y& L9 H' t2 Tphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
" a! ]: ?1 V) {5 X8 o' p) `$ ]改为 :# Z. n' D( q1 `6 r+ E& P
$extsub=explode('.', $tmp);$tmp=end($extsub);) J$ h( c7 v+ ^
% O" u8 j5 e% i3 V% C2 L- q
|
|