|
( [- t' q# c1 y6 z, z1 @7 e# P 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 错误
% B" Y7 T9 Q( A Q9 ]6 L+ S$ O 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:, W! t: {8 v" {% [% ~4 H
1)将function gd_version()改成static function gd_version()即可。
9 Q+ V: |$ ^6 w) b" o. I# }$ V { 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:; f% {4 t4 [+ A
$p = new cls_image();4 ~( \' L l u+ T
return $p->gd_version();
! |* K# z. \8 U* d' {5 |( O' ?4 p% Y D
3 \$ n+ t" M" \% t. U4 o. d下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
& Y% J) c# r: }( T, P8 I. ? S# h安装进程已中止7 N- k' L( C3 _1 G3 @" y
创建配置文件............成功
0 V8 O4 h5 G' v6 h创建数据库............成功( n# @ {' _+ L3 r0 S8 `8 j6 b- C
安装数据............成功% j$ R- M: N( m5 t |4 C/ p
创建管理员帐号............成功
, r. T" P% x9 _* {4 _. g处理其它............失败
/ A' Z1 b( b4 y$ T8 r6 f5 m) A3 x) |9 d+ h$ B$ y" Y! P
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5283 {: s9 s, M- `/ z7 G
无法创建目录,无法创建目录
K4 K& D8 j8 E/ |解决方法如下:' X K* x8 o- W8 I! [( |; Z' ~! c8 t2 \
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
) z! w9 f3 s# i O(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
) y% J7 I' k) e, Q) H不安装测试数据库一样可用,一样正常,不是问题.....- e! E- o; L, C5 K1 U
愿看到此文章的朋友能解决问题;
; a! Y. M; D# f$ S' m7 {' A0 r8 y
/ ~6 A' y# ~% E/ v. ]( W4 v( d1 d. E- _4 _) ?
ecshop如何解决includes\cls_template.php on line 418错误
3 l0 }& | k2 h* e/ G) x: {* a G6 y+ u Z; X
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
* B; c! F: \; I IStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418& F" g! {4 o: V. T6 B
第418行:$tag_sel = array_shift(explode(' ', $tag));5 A7 k1 w3 V8 g* }4 j
: w) ?+ Q9 ], _. T6 k, u- T解决办法 1:
3 I- k5 h4 E' B1 Y$ Z' i5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: ' s4 _" Z: L- m" ?/ Q$ R0 u
* a$ V; ^4 i1 X, g5 i
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
1 l- N+ _% x9 W! v% x$ x(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
5 m/ j, a$ n2 q. X' L. V/ p4 |2 ]" E同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
7 l; v8 f# ~( _0 e* U* i9 ~
# k i0 L. B2 P8 u: r如:( H) U0 F$ ~1 H$ `* o
function get_dyna_libs($theme, $tmp)
8 O$ f/ K7 ?& o" o) V( E8 }9 R9 s% e{
% J, r& C5 d% ]9 q7 a$extsub = explode('.', $tmp);* q) k1 v- Z5 B# _- f( m
$ext = end($extsub);
! I) D" J" F: n% I5 h+ h$tmp = basename($tmp,".$ext");. R% Y5 O! i0 \
$sql = 'SELECT region, library, sort_order, id, number, type' .
4 H# o" M4 r1 w: W) b' FROM ' . $GLOBALS['ecs']->table('template') .
: T' k$ V. B: r0 ^: M5 h; L- m$ }7 L" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
@, A1 C) |& J' m( {' ORDER BY region, library, sort_order';. L9 J& b& x" _6 T0 g2 x
$res = $GLOBALS['db']->getAll($sql);
) N( ?5 W* w% @( ^2 t& y$ D$dyna_libs = array();
) t+ B& l& s! {% w8 P; [0 g, `foreach ($res AS $row)" H7 @1 @( D- l( x# f- b n8 j
{
% }+ I9 c/ O/ B, Q+ B% r$dyna_libs[$row['region']][$row['library']][] = array(
/ b& |/ h: W) x- q* W'id' => $row['id'],+ R# A: j$ o9 z* c
'number' => $row['number'],
& b- j3 B' }8 J8 j'type' => $row['type'], F- g% p9 _# p. L0 p7 @1 l" U
);( B" H. D+ |" ], U
}( j7 M$ S) i$ ]. E% p+ c6 C$ B# E
return $dyna_libs;& t8 f3 y, }1 f2 r
}
7 F& v5 Z' n) {+ y4 b2 a - d5 x+ X+ J4 s G; V9 U4 v
将$ext = end(explode('.', $tmp));
4 Y2 i3 R1 Q8 k/ n改为
6 |& F& \0 h; z$extsub = explode('.', $tmp);7 w: I+ d$ r# D
$ext = end($extsub);
! H0 W0 H6 |. r8 O( `" _$ a6 q. J + J% v$ b' r! s& q) n( L1 w
解决办法 2(屏蔽错误) :
# }3 W/ }$ A3 H" l+ A
% w0 X: K) Q9 S1 `* j或则如果这样配置的话: error_reporting = E_ALL | E_STRICT; u: N# H4 N' ?7 \
php.ini中有如下设置:
) f" ^; u' Z8 v: l F2 uerror_reporting = E_ALL | E_STRICT
$ g l; q v: ?1 ~
. D! j5 x2 j1 c/ i) R9 M0 t% K这是说,显示那些不符合编码规范的警告(coding standards warnings)。
7 y5 Q6 v" }0 D/ @Joomla其实是建议取消error的输出,如果出于调试需要,应改为
3 C) e. Z6 n3 ~# terror_reporting = E_ALL & ~E_NOTICE
6 u- E9 S6 n0 E: p5 L. B 2 r% k! @ s2 H$ r; ?6 _, a
问题得到解决。
0 R& b1 b) N7 C7 {' z( d2 E/ |. ~9 r) L. y, d; t- z# Z
! \5 Y6 y. ~6 |Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
7 j& f6 ~# O$ O9 G. xphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
/ Y' q9 G$ O4 j5 v: {改为 :
5 u: k% q0 \3 B% N; O$ ~$extsub=explode('.', $tmp);$tmp=end($extsub);) W7 U5 k/ X6 ~) b( Q, z; B
8 s: j( d5 S! H4 d8 W
|
|