|
|
9 k1 o S, s* H+ K+ a, w+ ~3 Q- c/ f 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 错误
* o6 O* k6 s6 F7 _0 F: D 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要: h% z# {& b$ o8 r* Y: X2 A6 a
1)将function gd_version()改成static function gd_version()即可。
9 z9 q- N/ C' F3 r2 v' F6 Z$ A 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
o7 S+ D4 U7 o$ ^- J7 h2 W$p = new cls_image();
% U# X5 A% Z3 R5 ^! G! Wreturn $p->gd_version();- F# D6 x+ o( @, k
3 r1 ?# o- v9 {; Q+ z7 P" ? D- G \5 L' V( t6 _
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:0 R" ^0 L' u' W1 V8 P0 k1 O+ r( V
安装进程已中止
* V9 X6 x. x1 D7 Q创建配置文件............成功0 R3 w; O1 U& f( q
创建数据库............成功
! p: k% N( Z* @8 j2 X3 [1 z! f安装数据............成功% Q; X/ D6 a2 p: H: ]
创建管理员帐号............成功
$ u: U9 h/ |2 u4 |处理其它............失败 @. I6 _ D6 k. _
4 G; @: |) |: w+ h
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5289 \/ S( d+ l7 o' J2 D3 B0 h
无法创建目录,无法创建目录5 C! P9 a4 _. x9 {2 ?' A/ [4 o6 o2 r3 ^
解决方法如下:
. P/ {6 {7 Q& _+ R8 r" q8 D$ l点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
9 b6 J( E/ U! F' S' k% S! n4 q* g(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
" Z/ \0 A# a1 {* X+ U u9 ]不安装测试数据库一样可用,一样正常,不是问题.....
, z$ z+ y* n8 h, M/ @5 n愿看到此文章的朋友能解决问题;
6 [' s2 V: x& l: s+ q W( t- L) v+ K2 C0 W
9 h" k9 }, V8 n1 {7 v) Qecshop如何解决includes\cls_template.php on line 418错误 d5 s+ ?1 y' I, H0 g$ o: c; u! p
, Y% a. Q( q8 d, s/ m# k8 n之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:5 Q2 z7 r6 o% v4 C/ s. [
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4181 m6 p+ L* y/ f8 M+ x! O
第418行:$tag_sel = array_shift(explode(' ', $tag));4 I; O# V2 K. P& _, S6 V; r
" v, ~0 M8 g; ]* T1 x9 A0 e解决办法 1:2 l) Y1 f8 D$ M4 |" B% U
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 4 `9 H/ S# G0 N# x
% ]9 M6 s0 z1 z* ?& ^6 {4 K/ J8 V0 M$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);5 `$ v- g' r" ]) i0 f3 s* w6 ~
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值" w" H! u( B# f
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决" `) C: p* n& N7 ]+ ^ Q: ~ b0 i
& c) M' e! n, n5 U
如:
! b. d5 s) [: U0 Lfunction get_dyna_libs($theme, $tmp)0 g' V- d" C, C ?8 ~4 A
{
$ P$ T6 k* l) F- ~0 s$extsub = explode('.', $tmp);/ T- N6 Y& I6 R' m4 @+ e
$ext = end($extsub);. k- J/ H3 L2 G5 |& S
$tmp = basename($tmp,".$ext");
1 ]6 n5 [9 ?1 X4 q+ e$sql = 'SELECT region, library, sort_order, id, number, type' .
2 Y% W) k [8 B/ c' FROM ' . $GLOBALS['ecs']->table('template') .
5 H# T, |' k8 N8 |$ w" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".3 w- V, ]3 |0 F, i. k6 h
' ORDER BY region, library, sort_order';
1 T8 m* g, h4 g& p# T( X$res = $GLOBALS['db']->getAll($sql);/ O s& `& V- O4 n6 r4 N
$dyna_libs = array();1 y; g8 e6 G. O
foreach ($res AS $row)
1 M. E0 ?! L# [{
- \# b+ d" S# G: m, e, f0 C$dyna_libs[$row['region']][$row['library']][] = array(7 R3 _0 G+ {: S6 ^: l5 a& R/ C
'id' => $row['id'],& x0 `: C. v) G9 e: }# }* M
'number' => $row['number'],1 x/ W( A$ v% t: _ a
'type' => $row['type']
: o# E3 I7 p. U- z( o3 }7 g# @);6 f; T& U# u/ v3 ?& L
}
2 l, F- O* x; T$ k( y/ T9 p1 V" U6 x& Zreturn $dyna_libs;
1 O& G, e/ [$ O3 ~}
7 q' x. d, } \7 j 3 q: H* m7 z9 l b: ?7 H6 l! [7 P6 v& a
将$ext = end(explode('.', $tmp));. I: q( P3 |) U; k; u) z: k
改为& V* c- I. k$ `5 l; k
$extsub = explode('.', $tmp);! Y$ C8 d1 f* e
$ext = end($extsub);
% t/ h1 n7 j, P. Q 0 N# ^3 Q& T# `: g
解决办法 2(屏蔽错误) :2 \( H$ C9 B8 H$ [
* J' o! B* c( c
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
# J5 J3 ^5 F iphp.ini中有如下设置:
8 d% X( |0 \# g0 P1 _# cerror_reporting = E_ALL | E_STRICT
2 s( M o% T* S- ]% j { 0 d' u9 k/ G4 O, {
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
- g* |. U$ i4 L, d& k$ k% _Joomla其实是建议取消error的输出,如果出于调试需要,应改为+ E. G- ~! O3 G% J5 W
error_reporting = E_ALL & ~E_NOTICE! e+ r% @( a" p
( q/ O0 h& _7 n" E* f: h7 s问题得到解决。& y7 `7 T: x4 l9 L8 g. \0 p7 \
1 C* X, }& S% M( ~. ~# l! ]) M* t: a' r; N+ ~, Q
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line8 E1 \& K3 N' v5 u7 f
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));3 U) d2 l7 Z+ l6 ^
改为 :, _% z7 \3 ]* k6 t' y
$extsub=explode('.', $tmp);$tmp=end($extsub);
( g9 f3 F& Z( s9 T: L/ [8 A- F9 y' u! i: C& }8 _; S+ x
|
|