|
|
! Z# K( o* u* u- o( a" d$ [; |
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 x5 B: K) x% Q/ `$ J h/ S 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
! ], Z6 G4 m0 U! Q: S" l7 V 1)将function gd_version()改成static function gd_version()即可。* W W1 X* E& K1 v0 @, B7 E- P+ z
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:/ h) \% p0 S& P, @: O) q- L3 |
$p = new cls_image();
9 c! Y8 ~4 V& C$ @return $p->gd_version();
0 F6 e" [0 y8 T/ v; b+ e# _4 C8 w$ R6 F7 u/ B% u G0 ]5 T- q
$ {7 @9 ]8 M% n/ i
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:5 L" w0 L) w* R/ i: o) g
安装进程已中止% j2 S5 D, E1 Y& R3 `& E
创建配置文件............成功: D1 W* n$ H: P2 y y4 H+ N! l
创建数据库............成功
! p2 g; u3 S" y! H8 U安装数据............成功: @5 M4 B7 L- [# r" z4 {
创建管理员帐号............成功
& q( M% ?9 D$ C) w5 I处理其它............失败
# w) a/ Z( M9 c6 f) y" B# d @+ N7 ^% l! B
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
7 ~8 K1 ?; N9 B$ A' E( n0 P+ g7 Y无法创建目录,无法创建目录5 ?3 K7 j7 ]: t/ X/ R! Z
解决方法如下:5 |* v; R$ N$ t8 o
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
# ], T( I. D$ [8 F(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。. c- E# ~; y. [7 U! I6 j
不安装测试数据库一样可用,一样正常,不是问题.....
3 d, a/ E& U! Z C/ E1 _愿看到此文章的朋友能解决问题;
+ S9 {+ m+ ^8 E% K/ m& Q7 A" |4 c: `( w( q5 t
2 s6 n' z5 s3 ~& ]: l5 Qecshop如何解决includes\cls_template.php on line 418错误
" I7 i) g$ C% e) D, q. B3 S" z) H0 g* I* u
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
( v% R) H# ]# XStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
4 ~* M# L8 ^- V2 Y* @, l, {第418行:$tag_sel = array_shift(explode(' ', $tag));, g# r8 L$ h5 b. G n5 P) `
! }3 }$ l- y2 W9 g" L% R5 Y解决办法 1:
4 b3 a% N/ l5 k8 i5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
. v7 N$ K3 s( S: d
- e8 o6 e" H2 r1 j1 }" n- T* r$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);* Y- y, T k1 u" n& a4 Z7 y* Q
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值6 ]* J5 c' |: r& j1 \3 o& \
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决- i' ~. F/ E8 _
1 j. z* {2 h: v' X如:
+ r: R' g; ?( Xfunction get_dyna_libs($theme, $tmp)) A# k9 X6 @# b: I
{! y9 O7 M9 V$ }& S& p
$extsub = explode('.', $tmp);
* R9 `, {5 l6 j: ]$ext = end($extsub);
' [) ?3 G/ x& {2 ?7 Q/ F$tmp = basename($tmp,".$ext");0 Z+ V3 h; |! j8 V: f/ u
$sql = 'SELECT region, library, sort_order, id, number, type' .
2 Z" _9 `4 E7 y( f4 H/ X: c/ F' FROM ' . $GLOBALS['ecs']->table('template') .
- Y2 n$ p. Q8 S' K0 O" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
3 ?4 g# F }+ s7 J# m5 v! J7 |' ORDER BY region, library, sort_order';! e0 D& [* l" C# t* j
$res = $GLOBALS['db']->getAll($sql);
+ ?' i( }& d3 l( b, s" G, R" i$dyna_libs = array();1 Q! \4 T9 o' m
foreach ($res AS $row)
& z% x4 v! ~- a0 t{
/ y7 t' E) N N" F6 {# E: c$dyna_libs[$row['region']][$row['library']][] = array(
9 T8 [9 u5 c1 r: P'id' => $row['id'],
% m7 R, N: Y- X' `! {& N5 ]7 S+ G$ J'number' => $row['number'],# Y, ?: j0 m0 K7 T3 O% `0 J6 R- P& h
'type' => $row['type']0 h& ?' n" H3 K7 b
);
# a" ]% ~) U* E# i; \1 D& T1 Q}
; `# A* B$ [/ W( x9 p5 l7 S% }return $dyna_libs;5 D6 G6 \% Q7 j: I t* H* o
}
) o$ @" t0 H8 t+ v& z- n4 L 9 F7 J3 m6 ~( @
将$ext = end(explode('.', $tmp));
5 a: c7 m7 X2 _0 `- q& ?改为
" G6 m, I5 L- i& N1 o$extsub = explode('.', $tmp);
5 t! Y! h2 b, i9 |0 ~. N$ext = end($extsub);
$ e- Y' C1 U2 m2 s
- B! O, v6 C0 S$ _解决办法 2(屏蔽错误) :
' z6 M E; j7 U* P7 A9 Q% x ) s8 U0 [4 A! F: v& ~
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
' l! \/ r3 ]0 i# ophp.ini中有如下设置:) S6 H4 M& @6 x/ v$ T
error_reporting = E_ALL | E_STRICT) C7 F, d; D2 ~. u0 C* ^
* l; @5 C7 {# K1 [这是说,显示那些不符合编码规范的警告(coding standards warnings)。
9 s0 P( R, r% j$ u4 CJoomla其实是建议取消error的输出,如果出于调试需要,应改为3 V" e: _& Z/ c! t! A0 `+ B
error_reporting = E_ALL & ~E_NOTICE
4 J6 j7 B R2 i n6 }5 _5 q6 S ' v5 i5 w! e6 N! u5 C3 S
问题得到解决。9 y/ h( S. K+ [; z _
+ A; u& D. N3 `4 z8 D5 |) D. g) X8 L7 V3 y
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
, D! G" P$ B. c9 t4 ~2 I2 [6 pphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
( `1 P& S1 \) W0 d4 X; @9 f( b改为 :
I, Y5 p1 t4 O( ~% l$ u0 H5 s; a$extsub=explode('.', $tmp);$tmp=end($extsub);
" u/ L# S, f( [6 p% I# f3 n6 c
# y( D* U' e7 f6 |9 b# | |
|