|
|
4 S/ n4 l. O' C 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 h# ?* ?) C4 k2 `
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要: b ? z) o& t/ S4 E! p
1)将function gd_version()改成static function gd_version()即可。
9 h; A0 P. O* I0 X 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
6 z* ? o! q- A( z- L" S0 p$p = new cls_image();/ u `* s+ n1 V1 k! ^( t
return $p->gd_version();$ W! r/ H$ c+ a4 N7 u X7 I
8 F6 a2 m. N4 S" d. C9 s9 X/ k; N+ w4 G! M
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:, `) Z5 C" I' J
安装进程已中止, |. y( {4 |) _, d0 K- g
创建配置文件............成功
( _7 B* ?: j2 G创建数据库............成功
/ Q/ p, [9 j$ \% X安装数据............成功! C+ t0 W3 u. E+ v
创建管理员帐号............成功
% g" z" u2 b* m0 d5 L处理其它............失败, _$ w6 i/ e8 h4 x- f d$ h
1 B M, E* F( ]2 m
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
9 c& t" K4 o" y9 |- s4 G$ _! Z ?( h无法创建目录,无法创建目录; g* j$ D& F. ~: k8 U2 ] A
解决方法如下:6 a$ y: ?! O; v* r
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: . k* F4 q: \4 |) Y* m
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。. n/ S4 s& B2 S" o
不安装测试数据库一样可用,一样正常,不是问题.....' V: F% V9 x/ M( F2 {: ^
愿看到此文章的朋友能解决问题;
/ H3 N( }7 ]- }) |" D; a2 U0 X
- c. _3 f0 i8 t; ]
8 {1 ?4 s6 w4 u `( Xecshop如何解决includes\cls_template.php on line 418错误0 O# Q$ u' ?4 j) [( X n( V
; T) x% X" ?, v6 I% W1 R. B之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:6 @: f$ o& y, o* F1 b) M' _( ]1 c5 O
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418 Z3 l8 X z6 o" C# W9 V( E6 a
第418行:$tag_sel = array_shift(explode(' ', $tag));
6 y/ G1 h/ K0 T# D 7 Y: M" _, \. k R' |" j' U. u- P0 k
解决办法 1:
+ D! f! {2 ?5 B5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
0 d6 A7 n A) n' o8 c$ T% [
; |! J% A A6 F3 d' I, r$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
+ E* g1 {; Z( x9 c" y(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值) m4 r9 s; \6 G% C9 n
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决! |$ l3 o; r5 [% K: q6 }# N
0 X' s7 j! J0 `7 q
如:
; d; j; @. G( [function get_dyna_libs($theme, $tmp)% d% r5 f; A3 X$ Q$ R
{
( W7 O: i" c* d2 E$extsub = explode('.', $tmp);
' I1 |" A6 H1 Q% P, M$ r$ext = end($extsub);' t4 [* X7 d- N4 \* h5 Y+ I) m
$tmp = basename($tmp,".$ext");# i1 }* ^9 Q% @% [; h8 L5 V
$sql = 'SELECT region, library, sort_order, id, number, type' ., @2 _* |) Z. \ l# ~
' FROM ' . $GLOBALS['ecs']->table('template') .; A A' U3 a) }( |+ w1 {; m: Q/ ^
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".! Y1 F0 k; d. s
' ORDER BY region, library, sort_order';
# y- z: d4 S4 `+ m O0 F, e$res = $GLOBALS['db']->getAll($sql);
. u0 t" U4 N* c& l3 W' k$dyna_libs = array();
0 [3 B1 [/ F3 ]" wforeach ($res AS $row)# h+ v; l( ]" ^7 }- F$ }
{
, o6 H' s1 A4 w8 \$dyna_libs[$row['region']][$row['library']][] = array(- S$ \8 H$ E2 r! e; ?
'id' => $row['id'],1 T- n" C! I* k: J4 E9 N- u6 Y7 b
'number' => $row['number'],
8 X1 \! `# d$ ?1 K& @'type' => $row['type']2 K* q* ~) S: y4 r
);( A( { g5 V, I8 r6 n6 P
}% J2 a- ]5 S _- h
return $dyna_libs;# W! \1 }9 k1 o, h, F
}5 K* O" D1 p8 M4 |8 w5 Q
$ \. |* F7 h; v9 m1 D. w5 B
将$ext = end(explode('.', $tmp));; M+ p5 ? j' |- a! Z+ F9 k; C
改为+ o5 l f, c2 t4 [, A
$extsub = explode('.', $tmp);
+ _' F+ E/ V z3 ~! d$ext = end($extsub);9 W, L) s. N$ |* Q1 ]9 [
) `% S3 J: ]( t& S3 I
解决办法 2(屏蔽错误) : w% Q) b! f' U2 N! @7 I
( Q2 J1 Z! e( V& G+ R& i d或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
9 E. g1 {" l1 Q' q/ nphp.ini中有如下设置:
3 N; o7 b" _( M5 h y7 P2 oerror_reporting = E_ALL | E_STRICT) [( L. Y* e/ Z) U" y9 x% E# @
# I' C; d% `8 |/ D' Z* f
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
: {1 R8 A6 H) l' ]. EJoomla其实是建议取消error的输出,如果出于调试需要,应改为
- J9 E3 K1 d0 @5 D# [error_reporting = E_ALL & ~E_NOTICE
; O: i5 s& n6 G3 s + q6 D1 J* r6 O! T
问题得到解决。* j/ _# J4 h" l# B( ~4 y D6 t
8 m7 t# [% {( w/ n% s( I/ X: I/ C4 M7 Q$ v
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
/ J0 n8 S8 T( _1 g# [php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));- H9 c! t& d' q) x2 f. S
改为 :
! b4 g+ u: v, C& c$extsub=explode('.', $tmp);$tmp=end($extsub);
1 w$ k$ H# D! ~
$ K' \& [5 \7 Y: `. w |
|