|
|
# }0 ~2 {1 o* s' S5 Q& 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 错误
' r3 s, e C6 x9 l 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
! k# X9 t; T9 @4 ^/ O 1)将function gd_version()改成static function gd_version()即可。
% b0 i4 _% Y4 B# ]" a 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
3 S4 t4 X/ E7 ~3 R& y$p = new cls_image();
- v) ^; x9 C0 Z o7 ^/ ]return $p->gd_version();
& \, a# p7 ^9 i2 u/ B
- J4 L5 |! D( S- h4 q: P& J- B. d6 ?( I" [' t1 \: V" O( X
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:- c1 F2 U, i6 Q9 n) E6 {4 t- [- W
安装进程已中止
" X( |6 S& \2 C" k1 d; o: Q创建配置文件............成功( X P( M2 N+ P) {& w
创建数据库............成功. C- i2 `& S4 D2 c& \' K
安装数据............成功
y& U5 a: K& ^" r7 D创建管理员帐号............成功( N0 R" q6 L" ~, {0 w
处理其它............失败* R" y q" V) G4 q' @: x! D
' M5 i" g( t9 B. p" I+ K
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
' c8 A$ o. A9 [4 w3 V2 [无法创建目录,无法创建目录
% Y6 Z L1 H: A! I解决方法如下:$ p# X" X0 T" ]6 a. m
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: - H& Z- e! R, ]& \
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
1 G; l* J5 `. G \1 E不安装测试数据库一样可用,一样正常,不是问题.....
- i F" C( x3 X0 X) _1 i* U愿看到此文章的朋友能解决问题;
5 D3 K; g- V2 Q* ?, S4 s4 O9 A4 N# d9 F4 o
5 m$ T: ^5 t/ ~4 x7 D
ecshop如何解决includes\cls_template.php on line 418错误
0 r$ S; u4 R2 L% h' @; {
0 B; a% d% o: j( ]$ W7 C0 m0 Y, M之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:' b: @) ^6 K: d, Z( F
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418# x0 l' z* A0 p% S: A+ T1 }' j
第418行:$tag_sel = array_shift(explode(' ', $tag));
1 A# _& C% ]" w& ?; c 5 h, c, b8 A2 p7 c8 Q
解决办法 1:
^. O- n m2 I/ ?+ \. K) G5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: $ l4 b4 X4 I; A* _9 z' Q' O
$ z. ~* _' q- r* ~' B. ~1 n
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
" n" P2 Y- R' k7 q) T- K6 X& z! K0 c(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值5 h5 k* Y" k2 F+ s+ v
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决( H. O* U6 o6 e) b
" i1 J2 p, i: _, F" ^6 `如:
3 L' j5 e! d0 ~2 Kfunction get_dyna_libs($theme, $tmp)
2 A* m" S# H; y! ]# Q8 o" j2 X0 j{
, H" ^; q) j3 D, x \) L$extsub = explode('.', $tmp);
6 s* g/ U! s. Y1 b( U6 s* \$ext = end($extsub);( D* }1 V* r$ q1 o- i: ?6 Q5 o
$tmp = basename($tmp,".$ext");
2 O0 e# W) s6 Q- a0 I$sql = 'SELECT region, library, sort_order, id, number, type' .
" T' N- X& l* Q4 K' FROM ' . $GLOBALS['ecs']->table('template') .
/ A9 P0 a p' u4 I" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
" L+ f) Y, |5 Y7 e6 \5 U' ORDER BY region, library, sort_order';
& p3 [1 R: l: p* O$res = $GLOBALS['db']->getAll($sql);# y f- r5 F$ }
$dyna_libs = array();. R" E5 O- ]- y! H
foreach ($res AS $row). s* ]* h- G) q- {* w% R
{
: e5 ~5 ^3 p3 Q( W" D1 E# l1 L3 y$dyna_libs[$row['region']][$row['library']][] = array(
1 `; o7 r2 { ? W8 x% d" J'id' => $row['id'],- e" b! h! X8 i) a" f
'number' => $row['number'],- a' `! o' x! v0 v, _7 L* j
'type' => $row['type']8 h( l- E3 V5 n/ r. E
);3 z2 `/ I& f1 S5 h7 p% { F+ L
}& T, m: j; z- s1 Q" B$ H' i( ?
return $dyna_libs;9 g+ a! {4 c3 ^& k% c
}
+ c, B0 J9 y+ c3 ^; j3 \( ]. R) U % c; j* p/ b$ M/ }- V3 A* O, I
将$ext = end(explode('.', $tmp));
- h5 L# _, V9 q, c0 G+ a改为$ o) j( f- }! M6 f- n
$extsub = explode('.', $tmp);. d1 E$ D7 F H% T
$ext = end($extsub);
. U, J# F; U! D* A% W9 V4 c 5 o# p% R7 q# |' A. R6 @7 @- A
解决办法 2(屏蔽错误) :' Z$ {+ i2 X- h( R1 A7 K5 a
( D8 k& J+ p2 x) g. o1 [% j* J. `或则如果这样配置的话: error_reporting = E_ALL | E_STRICT% O- O/ i2 W# o! W# `& v1 [6 M
php.ini中有如下设置:6 @. H5 L/ I! I R" ]# e9 Q
error_reporting = E_ALL | E_STRICT
, E0 E* y& X5 w5 \' h1 M3 J7 G 1 N2 n/ q, E. k& U# N9 E9 o
这是说,显示那些不符合编码规范的警告(coding standards warnings)。0 x& e* j- V- P# O. @( s2 h
Joomla其实是建议取消error的输出,如果出于调试需要,应改为+ [+ o1 N/ ^' _% G4 v9 x8 s- D
error_reporting = E_ALL & ~E_NOTICE
9 q( j+ U- y2 H# i7 j7 g
, E) \5 [6 H: b) W' a问题得到解决。
; ]( V5 F3 u9 `# _" U
$ E* g7 p' _; j& y6 P# k) d
8 N/ r! b. r$ VEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line& \8 R/ n: w& P; Y" I ] m) ]4 W
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
2 f) q+ H c* ]7 j7 G" A8 j3 Q改为 :
' v% I$ ?0 L2 z3 O6 x$extsub=explode('.', $tmp);$tmp=end($extsub);
4 F( y5 A- n* O; } o9 U+ v3 u5 X( V, _
|
|