|
|
# M7 m0 E6 R5 Z% J9 P6 _, ^ 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 错误1 U4 d- k; J; V
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
, D% p4 h, r' F8 ^; l! R8 w0 X+ n# T1 g' S 1)将function gd_version()改成static function gd_version()即可。
' m2 s( a- C! Z4 s \9 L4 |8 W 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:) {3 M/ C) E" G% ]+ H, Z
$p = new cls_image();5 P+ S+ c3 p( q9 C$ w; _, t% q
return $p->gd_version();# Y& ?% n2 m( O$ d8 s: y k( ? O
@, ]7 R; g- ~5 V4 Z
5 B, ]7 x$ E. F) g2 m! p
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:$ j# b) d/ E4 r+ M" l b1 s
安装进程已中止" s$ W: p( a3 \/ |6 x
创建配置文件............成功
$ o$ p- Q7 o: E2 t$ e' ~# q# h+ I创建数据库............成功8 P9 e3 }) R( N6 |/ M8 k
安装数据............成功
$ f8 O( C0 Q$ a6 F1 R7 l! T' H创建管理员帐号............成功$ o& e! [8 h! r) _
处理其它............失败
* M K, u# @1 R) {: V: r) B
2 c/ x: Y8 B DWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528, o" `$ S/ X" }! l: n
无法创建目录,无法创建目录
2 V. H O; k+ L' w5 B' ]解决方法如下:! h+ w! k% B- q! _* \0 k
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
) }! f4 s$ i9 x2 R" v% V! {0 \(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。) ]" \% f# F, T: ~$ `& }" X
不安装测试数据库一样可用,一样正常,不是问题.....
n e! v1 q$ d愿看到此文章的朋友能解决问题;
( ^( U/ l; l% C P$ m" s( r6 T& @1 \5 k0 i" T5 \
' W& N! F% p1 L& lecshop如何解决includes\cls_template.php on line 418错误
% e, ^) E/ J; r
+ F: l& Q' Y) k& A4 d之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
- ~! r/ `6 X* l! r( {- ZStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
m$ _! H; D/ P4 ~; k2 k( r第418行:$tag_sel = array_shift(explode(' ', $tag));% D' L, x& j' P; T. Q) S& I
8 _' N ~+ k5 F( P0 G1 Y3 {0 g解决办法 1:
2 F8 U& ^/ `) U! h9 b" U3 k5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: + p- c: e! {* H0 y& v
! x- _9 A* C' d4 T8 ^& j) z
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
* l# Y8 l& ^* U" `- }! X(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
% M$ g' ]) C8 O) p+ \% e同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
/ n$ A( y5 J `5 z0 k
# A; [: Q: r( K: ^ Z" H8 r如:
6 ?7 I" G: w" Xfunction get_dyna_libs($theme, $tmp)7 `; {+ m" m/ s
{
& ]+ Q& w8 W+ H% X. b9 Q3 g9 R- ^0 g$extsub = explode('.', $tmp);
- m$ ^; a" ]' I5 _ ?0 F# J$ext = end($extsub);! k* _& F/ F @
$tmp = basename($tmp,".$ext");# N E3 Q$ @$ F( V6 G
$sql = 'SELECT region, library, sort_order, id, number, type' .' j+ N3 T2 h! A4 b+ X
' FROM ' . $GLOBALS['ecs']->table('template') .
2 S- |) b9 y+ L; L, L% z" ^" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
) i7 n& H& ~& t1 x$ u/ U' ORDER BY region, library, sort_order'; K7 E* N% r( L8 _3 ]3 D* K# a# D- u) t
$res = $GLOBALS['db']->getAll($sql);
, K4 B$ V6 T/ w4 F" B. f: u5 Y1 A- J9 M9 }$dyna_libs = array();" P+ ~' c) e1 X o5 ^' r! z
foreach ($res AS $row)
( A# H% b7 I6 E. M0 A* W{ I, G$ M3 m7 J" j
$dyna_libs[$row['region']][$row['library']][] = array(/ ]" E$ c; ^ z0 S" K: D
'id' => $row['id'],
3 B5 N0 Z) C [/ f! k'number' => $row['number'],
+ U9 o/ F$ x* H- x% D'type' => $row['type']
0 V5 c6 b5 ]( V- X& y);7 o3 @! M/ u: ~( a+ e
}& X% D; B# v$ ]9 q# ~
return $dyna_libs;
' z- }- b. r$ T7 C2 N t g; g}, ~5 ~% P( @' L, f0 L( r
0 D# h( W: x1 d$ D2 m: H0 _
将$ext = end(explode('.', $tmp));
3 n- P, f2 S3 Y3 U改为
2 N9 K/ M2 g; N* x6 J! S$extsub = explode('.', $tmp);- n. t! F6 Z4 Z0 P
$ext = end($extsub);
" ~* l# S0 w/ d 7 c& S& E$ b" W
解决办法 2(屏蔽错误) :4 O: m! r- t% A; W. k% L
]) [. A+ s: l' L7 @或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
0 z4 X9 @5 T$ ^& O" Sphp.ini中有如下设置:
7 x0 \# Y7 F% z/ u% \error_reporting = E_ALL | E_STRICT
- U/ K$ z t7 f ^; t, }% X
; _% @. ^( m) k" j D这是说,显示那些不符合编码规范的警告(coding standards warnings)。
4 j" X7 z1 z, L T) c6 i( v+ sJoomla其实是建议取消error的输出,如果出于调试需要,应改为
) H* H9 p' b- B' q- x. s$ oerror_reporting = E_ALL & ~E_NOTICE# J+ @6 ?) f x' [5 d6 ^
. Q2 \- d% G+ g j
问题得到解决。 p, o O1 U$ l, E- \
& f% O4 j; J. S+ `* E& h, G
/ v3 y- i! \3 a/ Q/ [Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
2 x0 P7 z$ d: B7 {9 wphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));+ T5 X" G+ g2 G6 |9 N) T m7 J
改为 :
0 b7 G d q+ @5 P$ Z$extsub=explode('.', $tmp);$tmp=end($extsub);
) K/ ]! W* n6 a% ~2 T: G1 V/ J7 X9 c5 X) @3 B3 N5 a, f
|
|