|
3 h5 s: U" y& A6 }# H1 G 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 错误6 ?, h! L' o! f) `. ~8 M
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
/ h( ?2 c6 V2 ` U 1)将function gd_version()改成static function gd_version()即可。
, |) C6 [" L5 j( L" V 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
9 n: |7 Q; I7 k, y6 V$p = new cls_image();
/ K/ D! [- e3 b1 L1 ^5 Q$ v' [return $p->gd_version();# c$ U0 S& ~4 q# f$ T, ]
; T* ^ r6 ]+ B
9 e' r3 E4 }( F5 l
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:5 f" B/ F, V# A! O' R- g2 {7 @
安装进程已中止
2 n, k1 I$ {8 B0 f创建配置文件............成功
; q$ m" z- p% o5 f9 r4 E! q0 g$ S6 j2 p创建数据库............成功
8 v7 u; j I1 H6 v安装数据............成功( c6 N: [+ Q' k8 J& p: m# G6 J
创建管理员帐号............成功
! K1 @- K0 N7 {, K! d2 x' M: s处理其它............失败$ N. J+ R7 I* p5 F ]
) V) T* S: N8 z! _- ~$ b( P- UWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5283 x6 s; W! S+ q" b" z$ A1 h
无法创建目录,无法创建目录& e' v& @, X# u4 {% U
解决方法如下:6 d3 B4 @) V1 Y
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
9 _6 ~, h! } l4 S(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。: p, [# [9 Z. X* r+ J+ h0 A3 [
不安装测试数据库一样可用,一样正常,不是问题.....7 ~3 @9 i. d6 l
愿看到此文章的朋友能解决问题; 5 O0 i; K6 _' y/ n7 [
; O# {8 ]/ F1 z( |7 B
" m5 h8 J( ]7 j# T/ Wecshop如何解决includes\cls_template.php on line 418错误4 r3 q4 a; ~9 i2 Y' q
1 p# r+ p) x$ N
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
8 {# a6 b: m1 e' CStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418- o& }8 ?( D% U2 {: r7 Y
第418行:$tag_sel = array_shift(explode(' ', $tag));; N. X, w8 b5 d: U1 g! { ]1 N
! u, m/ |7 b) R+ W4 J8 d2 ?解决办法 1:
' k# \9 b# h; I1 ~% f( o5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 4 F+ J# q! m) N& a
* h: W4 {2 n0 G6 U p1 ]4 }. G+ ?
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);; B/ Z. @6 v) Q* R8 I, m$ z5 }
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
' U( P. e, X0 \# \8 |) Q" e同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
0 k; C8 V9 Z) N) Q+ I) O $ m3 W- n3 d+ w6 {* t: U
如:" k9 l5 f+ G& r' L
function get_dyna_libs($theme, $tmp)
9 U( M j% O/ o8 e0 Y{4 h7 W% U7 E; ]( U8 a, G1 [9 j
$extsub = explode('.', $tmp);
3 O+ @& }8 Z" \" s0 x# p' X$ext = end($extsub);
7 f& k# d+ d% ~; K$tmp = basename($tmp,".$ext");3 d$ w9 ~$ [$ U
$sql = 'SELECT region, library, sort_order, id, number, type' .
1 U7 p) K9 ~+ I. q9 Q$ V' FROM ' . $GLOBALS['ecs']->table('template') .: c% S- W$ k! N' l# m: d
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
3 y6 J' n5 o; b& Y, z! ~' ORDER BY region, library, sort_order';
. ]. {4 R! X/ k3 Y; U9 J' P$res = $GLOBALS['db']->getAll($sql);
) Z9 g% e6 x9 n1 j+ \$dyna_libs = array();2 \$ }) ^1 v4 u- K0 l2 ]
foreach ($res AS $row)6 | _, \0 i8 d
{. Y1 c" d9 U8 t9 z& I+ E. I9 a
$dyna_libs[$row['region']][$row['library']][] = array(
0 w" ]3 G$ a4 y7 m/ x+ q'id' => $row['id'],
6 T# B+ J+ {6 c* g, Z5 p. U'number' => $row['number'],
$ [1 x2 m- P9 ~3 q. P. z'type' => $row['type']# T. l' K( u o( _9 ?; x
);
4 r% ~7 P6 M4 o2 d6 m}
o6 Y+ U% D0 L, c( P8 ?return $dyna_libs;4 e/ k- ^9 v% c6 j4 j+ b& E
}
7 F& G- y5 `# Z/ o: x + U; [( a4 B7 Y& D4 v, Z! H
将$ext = end(explode('.', $tmp));% e. Y4 _/ T$ D6 z$ a0 t
改为* ~, d$ _; v8 {
$extsub = explode('.', $tmp);7 A6 H1 [$ K/ i, H; r0 v
$ext = end($extsub);3 }' N( k: I! ^! w
1 O! c0 R* P/ ?0 _4 G8 x- } L9 J
解决办法 2(屏蔽错误) :
+ {9 M- Q4 f% I( a: C: ?! U
- y4 i+ i) F) z$ R* t) k3 g( \$ _- P或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
1 e% u- ~( X0 Q7 |php.ini中有如下设置:
! S$ r2 j3 z+ P3 ~; X$ derror_reporting = E_ALL | E_STRICT4 L. d8 z' G2 O1 ~; j
1 y8 E0 I1 q, C6 h' O$ z这是说,显示那些不符合编码规范的警告(coding standards warnings)。+ ~$ |6 h M- g3 O, J
Joomla其实是建议取消error的输出,如果出于调试需要,应改为. l( \" o* ?5 F- c2 p
error_reporting = E_ALL & ~E_NOTICE1 d8 x; v9 k ?$ N! {. G
# b x4 G) H( [( e% m: K问题得到解决。1 _) P! C' e+ _+ Y: G B" O
" {1 X9 ^2 u9 `- G, g( A" U" a
( l# m( X/ y* |$ l, s4 |Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line1 u+ n- Y/ N- h8 o. u- A
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));+ L- f+ J" D2 b: Z! Q- }. @' D
改为 :: Y0 @5 j0 }0 b7 k' [
$extsub=explode('.', $tmp);$tmp=end($extsub);5 a+ S! ]9 o9 L
1 C! d- E( B* Q/ }+ v4 l |
|