|
|
" [: m! g3 L3 D( p" h9 ~/ t3 b
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 错误
+ l" z; \1 p" m! w3 K 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
2 H1 z$ U1 { ?( S$ r 1)将function gd_version()改成static function gd_version()即可。
2 _6 x2 s, R8 [% R. f( c 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
u# _* i9 b' C5 z$p = new cls_image();
% [3 U5 L4 M* L( @% _0 @8 oreturn $p->gd_version();: D" k2 S- c! P5 r3 V3 D: o
8 w# E9 ?% E+ C" S* M' M( f) P4 I7 e* N
7 H: D( Q/ S9 j5 U" N下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:# m5 H1 Y$ y9 W
安装进程已中止
$ z5 n* g/ E6 E创建配置文件............成功) ~) Y+ k' j3 X( n; ^% ]
创建数据库............成功% ~2 h+ C. ^8 ^! j9 |5 h$ F9 r
安装数据............成功 p! i! X* w! F4 n! y. V
创建管理员帐号............成功4 v" l8 J2 p8 w! v9 f& [
处理其它............失败
1 g/ G- P' A+ k: X- U& F3 v
' ]7 u2 F1 B; @: C6 B, r" u) zWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528) i4 y C3 T# Z. F( ? V
无法创建目录,无法创建目录% K8 g/ J& x: j% c/ J; ]
解决方法如下:& _- S* l7 |2 }. Q9 P1 I+ V
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: * h! S, G( i: M$ D ?
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
, }# o* t6 Y) B+ S8 j不安装测试数据库一样可用,一样正常,不是问题.....
* I# \( M2 R3 ^; G; `! w0 D愿看到此文章的朋友能解决问题; , t% W d* o" j" @
5 r3 l2 { M! o3 Z9 l" I
# Q1 p$ ?4 P" c. Q; e2 c! Xecshop如何解决includes\cls_template.php on line 418错误4 Q6 b$ w5 G- }. g
; j& Z9 b- u' J5 W$ _6 S
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
5 U; T& v! V9 I' sStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
) I. T$ n. ~! d( k9 A第418行:$tag_sel = array_shift(explode(' ', $tag));* v7 S: q" z; s# o2 ^6 E' l# o
3 U5 i+ Z0 T9 a6 Y6 K解决办法 1:
" O* ~8 L# B- N" R% h5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: ' y' K) M* ]$ y; r
+ i4 O/ |$ A" r$ v0 k, l0 @! ^
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);; H$ _7 Q/ v4 |9 C+ [* k5 Y Q
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
4 j1 _3 ]3 v7 S! \( I; j同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
1 \! `7 A" L) Q" N' u4 S 7 p8 o& ~: m0 m, T) k0 j6 i6 c
如:
7 r: i$ q" r! ?% e Xfunction get_dyna_libs($theme, $tmp)
" K; r* t" r4 J) }) P9 ]9 B{
6 r E! [0 e- s* \% H2 l# ?$extsub = explode('.', $tmp);
4 a* d' c: o c1 L; c$ext = end($extsub);( k) x. p* f9 I# Q
$tmp = basename($tmp,".$ext");6 D. M6 x2 t4 F; k
$sql = 'SELECT region, library, sort_order, id, number, type' .' N( d/ J4 O. d/ Q
' FROM ' . $GLOBALS['ecs']->table('template') .* p/ q# [. \6 `; }' Q
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".5 J4 }" f5 O ]: C' \ {
' ORDER BY region, library, sort_order';# q! S+ \% S: j v3 _/ p/ F g- f
$res = $GLOBALS['db']->getAll($sql);
/ p: {9 L* I3 h$dyna_libs = array();" s- n0 v9 l; c8 O
foreach ($res AS $row)
* Y, y' N3 a( z# n8 p6 K, ^" I4 g, K4 H{
5 v1 C7 N3 P: u, v$dyna_libs[$row['region']][$row['library']][] = array(
2 c7 Q1 T" q- w. s2 r+ I'id' => $row['id'],
5 d( K* w! {1 \+ U'number' => $row['number'],3 J5 z9 Y1 D% G6 o: T
'type' => $row['type']
/ ^' r$ |1 ]" x* m, X. ?2 L: R/ s);5 X! P9 e" V! v- H
}% ]$ `( q5 N: H4 C a! k
return $dyna_libs;
Y0 I3 z. ?- d& H$ _}
* N1 R& Z, s$ H* d1 j6 u 1 d, L1 i* ?3 @2 p7 e6 ^
将$ext = end(explode('.', $tmp));
9 P. H3 Y `4 S2 X: D2 }) d改为
* z* T( t: u/ l5 D( i- ~$extsub = explode('.', $tmp);
: @: w4 ^* }8 F. U8 l1 i$ext = end($extsub);
. K2 t8 h" X% W
' a0 @: g2 J* ]7 q: j$ g1 R解决办法 2(屏蔽错误) :0 B7 p% f8 k) a; ^& C9 S. t
, y& ~- v- D3 K3 W) }8 I+ B或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
. ^# q" j# ^" _php.ini中有如下设置: u5 ~* t' s- D9 f, i
error_reporting = E_ALL | E_STRICT
5 e1 J1 z1 h% f
# A; \; d# B5 f8 d* W) a+ l8 q这是说,显示那些不符合编码规范的警告(coding standards warnings)。
/ k% f2 i) ]6 q6 @! u' \1 `- \0 UJoomla其实是建议取消error的输出,如果出于调试需要,应改为! }; L+ q5 z O: m" b5 [
error_reporting = E_ALL & ~E_NOTICE
* W w3 c. j- y5 k# x ; }! U1 T& l/ M& L# q
问题得到解决。
" _3 | L" `1 u4 x. o
0 \% v3 `/ `6 f. r0 w# R. q
) q& l7 P0 K% b. ~+ z1 B9 rEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
; c- O) ?1 M, z3 V! z" xphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
( e1 a1 E9 D: c: O改为 :0 j- y+ q' Q1 K* {5 f: T. p B4 k; n# Y
$extsub=explode('.', $tmp);$tmp=end($extsub);
% U2 ~4 @1 F! i* C5 \' B
$ e0 i" E7 K! E& v7 ]* k8 _ |
|