|
|
9 x8 W. S, t2 b) f4 [
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 错误
5 s. c2 V8 Z. G% L; j% U5 g. d: Z" \ K 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
' G; ~5 Q" _) z 1)将function gd_version()改成static function gd_version()即可。# [( T/ p+ @# m+ o. S5 Q t- r
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
) y- v$ b" C& x) T' E( E. J$p = new cls_image();
" p L1 ~! ~# o4 I+ Creturn $p->gd_version();
% q* |- r( f' r) A8 V" P1 K. u! F) u- k% z4 y p& [' F0 Q
" M: h3 F6 M% w' {' H下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
/ W/ ]) h3 S5 n/ y$ K安装进程已中止9 E! N) d( h4 y, }5 \( G- v- l+ |
创建配置文件............成功0 d! m* |0 }# p; R3 c8 i3 ]
创建数据库............成功% H' v! |4 `. h3 v4 I! G
安装数据............成功
6 @6 S; d/ d% K创建管理员帐号............成功! o/ W) m8 `6 g: T3 a2 {. ]0 x
处理其它............失败
- `; t: e' q, Q: K1 ?0 y
" E, M8 S( c( ^+ D2 A; t9 p, EWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
' g$ x: v1 | ]5 O- d1 u无法创建目录,无法创建目录
' P! u- ~2 J- C y' O4 A解决方法如下:4 j/ }5 Q' x5 P* @1 Y# s4 I2 _
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: , d; Y( v( I+ |: m" ]* t
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。! y% ?& Z+ l8 b6 g! \: U. f( @# g
不安装测试数据库一样可用,一样正常,不是问题.....0 q- _( q0 r5 f" V- S9 s
愿看到此文章的朋友能解决问题; / S& X$ | Q, @ I+ z: t& X
: E' o* d5 L- w% ?5 ?; Z- A$ h( Z9 D9 F2 h% G/ E A$ p4 _
ecshop如何解决includes\cls_template.php on line 418错误
! G7 L- P. r( @/ B9 i' d# k. O) ?* |: f1 [! T
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
* J+ T) e$ V( oStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418% n7 V& g& M9 F0 c$ `, p
第418行:$tag_sel = array_shift(explode(' ', $tag));8 _5 { V) a" Q# Y$ R; h
& _+ y) ^" R5 l! |
解决办法 1:
+ p/ p7 D/ ?. k$ z; m9 |5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: / V9 ?- t: S: \* R
) u; N# Q% x) W# L/ Z9 z' X1 _
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
$ d) i) C$ F8 K; r$ `2 `(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值" h) ^# f6 R' y& C0 ]* `" X6 g
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决( i0 c8 f# t+ t) W, o
/ C( s$ k# ]0 m8 C: |
如:7 O+ b, g: c$ `/ M
function get_dyna_libs($theme, $tmp)6 E) K' x% y; b( U. ]8 T
{
% @2 H( X/ y7 u+ G4 J, ^7 x$extsub = explode('.', $tmp);
& {8 Q( l' d. `; M' T$ext = end($extsub);
$ D/ J( `* l4 v4 O5 P* _( \$tmp = basename($tmp,".$ext");
" L, L2 {* ~: I' D$sql = 'SELECT region, library, sort_order, id, number, type' .
9 J3 B% ]# N6 x& `8 s% i8 H' FROM ' . $GLOBALS['ecs']->table('template') .# u5 _( R; j% M9 N
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''"./ r' J, c1 k8 X$ [# z& f! z$ J% @
' ORDER BY region, library, sort_order';8 f |2 E5 q2 k( ~" g; V0 n
$res = $GLOBALS['db']->getAll($sql);
8 m3 G7 l& w0 S: k5 V7 e8 j6 r& E$dyna_libs = array();% K3 c* H5 T' H+ U& w
foreach ($res AS $row)
0 t1 g# a8 }9 b& S) y* C& H* I{
& ^, v7 f1 K2 n5 v7 g$dyna_libs[$row['region']][$row['library']][] = array() H) W, f/ J4 L. M9 q9 }; v
'id' => $row['id'],% q8 Y i& f! |
'number' => $row['number'],4 V2 f1 K* R/ Y3 B" ^4 g
'type' => $row['type']
" X6 c- a2 F. ~* v);) U, B$ F; {' Z0 n6 v
}
6 H0 C, W; k4 ^4 y; i0 @3 v7 R+ ~return $dyna_libs;
7 G/ d' b3 U1 A- n. B" }; a}
8 e4 M O. E9 B9 B) | * O! _, s8 n, G/ \
将$ext = end(explode('.', $tmp));
2 T; _+ z# p6 l# g: C2 S改为( f v& I7 T7 h; P6 y
$extsub = explode('.', $tmp);
' @% n& u/ f, w" M$ r0 m$ext = end($extsub);
9 U; _! d& f6 n/ t# A3 f: E8 d ! E6 w) K. L( V
解决办法 2(屏蔽错误) :! ~( p# B2 @; Z9 F6 W
& L* ]: J# e+ Y% O
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT8 P, K6 k& ?3 X) K' H2 V3 a
php.ini中有如下设置:' M( c. m) d- O e, Y/ Z
error_reporting = E_ALL | E_STRICT' N( h8 A0 {) }- x! {
! ]8 w) X8 f G/ e# p* w2 h
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
; s$ Y! t, }1 T3 P, JJoomla其实是建议取消error的输出,如果出于调试需要,应改为
# H& U# j* G' y% c; R7 |6 rerror_reporting = E_ALL & ~E_NOTICE$ N! H# p' v6 V. K% [3 D
& C9 m! F) j3 _6 `. k; _5 @问题得到解决。
* J/ s, c, W& @/ \; S
% u2 {2 S) A8 k+ {$ E' u' z( C: S. ?9 b& p3 L Z
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line% P8 Y( i$ y1 J
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
& y. [, e+ K- R! X$ h8 G改为 :
- `1 m% h8 R( ^; z$extsub=explode('.', $tmp);$tmp=end($extsub);) H8 z( R3 M9 b" q Y, w
" P/ [/ n9 w* v8 y, Z# j3 b( v6 s- }* T
|
|