|
|
, F2 r: z4 ?, s 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 错误
7 j. S/ r& f/ X) Z7 }! k 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
' h# F4 ? N( R& m, }6 M. _ 1)将function gd_version()改成static function gd_version()即可。. |& B4 s# W9 ^, D6 S/ }$ t
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:/ }9 I- c y' D, i
$p = new cls_image();2 O$ I+ F! {' d- n+ i. ^9 F
return $p->gd_version();
8 E" z- w4 c+ [$ c+ ?1 N: R" y
. n3 X) ?' n5 c8 @+ J4 h1 K; |- Y+ y) b" G2 K
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:4 b1 @" i) G6 ~1 e
安装进程已中止
: Z) o7 i7 T$ @/ Y9 V1 ]' T/ b) @3 \创建配置文件............成功0 x5 P/ G( x; z
创建数据库............成功
3 V. X4 e. `* O# T9 S安装数据............成功. L: t7 f& E3 ]8 N9 h
创建管理员帐号............成功
2 z8 D' F, G0 P# s% j/ @; p处理其它............失败! q2 R3 Q6 q" X) n. a8 [, S0 P/ R
2 H# j! e3 ]$ Z; v0 l; C. n4 r& |Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
U+ l: X" {8 h6 m无法创建目录,无法创建目录
( C7 a% Q. y7 l6 Z7 {! R解决方法如下:# ~+ F2 ~ Q& W% n4 e0 E
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: k; [% ~. O J9 _
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。8 D# _( O+ r8 |; \7 I
不安装测试数据库一样可用,一样正常,不是问题.....
( d2 Q& H$ A8 c- N# p$ P# D愿看到此文章的朋友能解决问题; & h8 k: F9 D0 _& t* N
. c8 a# U/ `5 L% W& w$ r$ b; C3 P3 r; z
ecshop如何解决includes\cls_template.php on line 418错误
J! D% z$ p, E$ s3 u
) ]" g% V2 {8 E之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
; [* x+ }2 V$ A! fStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
1 i+ ` _; A# ]! D j第418行:$tag_sel = array_shift(explode(' ', $tag));
; [) u2 _) D- ]$ z5 v . X" q% Z8 l" d( ]1 p7 F
解决办法 1:& D1 q) N9 Y; v0 |0 |, ]
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: # W& q9 ~6 T+ K
- R( g$ {5 ~8 F9 I0 B
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
- \3 H7 t3 K w! y! k V( t(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
, g2 `# y2 ^$ T0 o8 {同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决0 _4 D+ w- z4 F. T3 H) k& v6 w
1 r4 y+ d+ f8 s2 q8 g, O" {4 s
如:) F& o: x. ?6 O6 O. ?0 T
function get_dyna_libs($theme, $tmp)4 ?/ w2 W: ^+ |3 }
{/ @- ~% z- H; P. q3 \
$extsub = explode('.', $tmp);; I+ s0 K) p% N8 X3 B' k7 w
$ext = end($extsub);- g; J5 B% L+ I, D' b m/ Q
$tmp = basename($tmp,".$ext");" w* U- f6 Y- F r- B/ R X
$sql = 'SELECT region, library, sort_order, id, number, type' .+ V. P; t, q8 H! A& n
' FROM ' . $GLOBALS['ecs']->table('template') .4 L, I, K6 n) H: {0 G
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
3 o" C, `3 [/ k! |. P8 H' ORDER BY region, library, sort_order';3 y9 C5 ?8 e7 B+ O. @- V
$res = $GLOBALS['db']->getAll($sql);. w% G! g: ?# l0 e/ l& t) A2 g9 K
$dyna_libs = array();
' y) G7 |* @3 J( F; V pforeach ($res AS $row)
& i; b, E7 k# e1 r{- i& @+ ^5 b3 I- Q" |5 \) N n' F/ _
$dyna_libs[$row['region']][$row['library']][] = array(8 h0 i, U: ~+ @5 t
'id' => $row['id'], C$ T% l( R/ [4 x! a
'number' => $row['number'],
! @/ i6 d7 B- D9 `1 h( j'type' => $row['type']
6 R# E+ | o/ q, Q7 o' q);
; ?% C. {/ u }1 h* X5 Y/ W8 L, m}
- I$ R; }2 S. e/ p, qreturn $dyna_libs;% ]/ {" S! G- y* K) C
}
: P% z. T2 q/ ~8 D
) b& A5 f) P6 b; I5 v7 `0 d# h' c将$ext = end(explode('.', $tmp));
* d2 z3 V0 i% u8 N4 K% k) u7 A改为
5 f" W0 g7 l- y. q$ |" l' c$extsub = explode('.', $tmp);
1 L# B" _5 B6 p1 |& u K: i0 {& ?$ext = end($extsub);. D4 J& O3 C1 h5 k
- ]6 w# H: q9 W解决办法 2(屏蔽错误) :) r$ g$ l5 Y/ R) H/ {
6 }* e$ D9 `4 z. v
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
' i5 w( b* n1 H* N& g* k& iphp.ini中有如下设置:; @( Y U: `5 c2 T; q2 ]* B% p
error_reporting = E_ALL | E_STRICT
' O. r5 k# ~" p$ M
5 Q) j- q! A3 K这是说,显示那些不符合编码规范的警告(coding standards warnings)。
7 x/ A0 g/ e# _" K& {2 rJoomla其实是建议取消error的输出,如果出于调试需要,应改为
. L; s7 q# N; _$ Y1 k0 t- perror_reporting = E_ALL & ~E_NOTICE
4 c5 P% L1 _/ s/ m5 ^) h; ^$ S * d5 Q( V! i4 Q2 l5 V" Z
问题得到解决。) R! V0 T9 J# v5 {8 j1 H; g
+ E! ] M' r. A, l) ?' h
& D9 r% |- V- l" Q5 f& jEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
, K6 D* r) b/ Y4 Ophp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));# {3 Y( e; E" H s
改为 :; W/ J* y4 {. M; a
$extsub=explode('.', $tmp);$tmp=end($extsub);
# J0 o+ Y6 [: i- \3 G
6 F" \6 G8 t9 V& T( U6 t. v$ M) f |
|