|
|
; m0 b" Z* v, i( g7 J 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 错误2 _/ _* l( l/ p! ?- n f; M
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
. F1 C1 G! `( ^4 O7 E 1)将function gd_version()改成static function gd_version()即可。
. }$ E+ A( }; k3 H9 N# D 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
& D2 }$ ]+ n2 k* y$p = new cls_image();8 N- u0 `8 Y" u
return $p->gd_version();2 u# X5 k" u6 X1 c# A! ~
$ N) M: v( ?6 S% ^# @5 L. A6 L" V
8 R. r7 J, N; q6 |- X, v: c下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:+ H+ Z$ k) g/ @7 U
安装进程已中止. e) L' S! @9 K$ J& X8 r
创建配置文件............成功
8 ~2 p1 q- D0 [创建数据库............成功, M4 T8 j: R* g& ^+ i6 k2 I. U3 ]! l
安装数据............成功% F- h- N9 q* J
创建管理员帐号............成功
' C* x8 y- W, h处理其它............失败# G5 B n! E/ s
# {" b$ _! m8 ^8 p4 P$ m
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528, o) ~2 i/ o) z6 b& Y% B
无法创建目录,无法创建目录- A. ^' u6 P2 p& v% k4 O
解决方法如下:
9 ~% S/ i8 A4 l3 k; E! }点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: 6 u3 }$ f) T3 G" [1 a
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。* J8 \! Z1 n, `. | A: Z
不安装测试数据库一样可用,一样正常,不是问题.....
+ K: Z' y ? v愿看到此文章的朋友能解决问题;
8 M! u% f/ y ]) U& ^' Y9 U; H+ y; R3 a! v9 e
6 k; w/ O6 b8 {+ Z" \, j7 v
ecshop如何解决includes\cls_template.php on line 418错误/ N& q; ~ ~- K7 U$ W- U7 ?
7 }% R" p* g4 c: w/ z% M6 `
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:1 Q; C! b6 Y, D: }# A
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418- M4 J( F5 W" q$ o: ?" b$ @
第418行:$tag_sel = array_shift(explode(' ', $tag));
& z: {8 i9 @. [1 Q8 {: z/ [
. a/ k6 [& Z0 C% Q* G G) y解决办法 1:
& \- t/ b: s& q5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 0 [5 v2 I$ H+ k7 w
9 t9 w m5 z/ E8 h! N- B" x
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
, z. h7 |5 x5 `. G, I% h(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值3 s7 m1 l' e" |: H; Q
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决9 G3 r2 K3 {6 V. I! _
. J/ t- j( Y6 y7 ]& Z9 A
如:
' u. d) E- ~) I4 \" p$ Afunction get_dyna_libs($theme, $tmp)
& y' n. n2 ?/ [" W{- [, A$ T- x6 q
$extsub = explode('.', $tmp);
* c- t$ x& C2 x/ i- E* f# |. D$ext = end($extsub);; R Y% j$ B6 v, D$ h
$tmp = basename($tmp,".$ext");
& l5 T& a+ K r5 H; X) _! s$sql = 'SELECT region, library, sort_order, id, number, type' .
Y4 j7 T& p! E& } H' FROM ' . $GLOBALS['ecs']->table('template') .
( q9 f' T! B8 ~1 y" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
J# W7 X( J8 L: w. i5 [' ORDER BY region, library, sort_order';
( k) y" A9 `' K! S% D7 O$res = $GLOBALS['db']->getAll($sql);4 ~8 p, H- {- J5 Y! x- B8 b
$dyna_libs = array();" t, x( E8 n3 }4 S k* `
foreach ($res AS $row): k; H+ l1 n# y2 G$ V
{
% [* l2 n: N6 l$ W) t8 {$dyna_libs[$row['region']][$row['library']][] = array(% z$ r9 d7 Q9 g8 F, t2 s
'id' => $row['id'],0 }/ I1 Q' L o- Q. K7 c; E
'number' => $row['number'],
% `# \4 F( z' }0 L9 W" n'type' => $row['type']
8 A7 u/ F) G* x);
5 ~3 @0 i3 L T- {) ]( a}
9 [ q# I& N6 a2 O }( areturn $dyna_libs;* w5 s G% b n
}
* J+ |! V! @3 j0 M/ j+ y$ G3 D
7 q0 `& V: m7 w% w; Z将$ext = end(explode('.', $tmp));
3 S3 \; z# d) l7 W$ {6 y改为. e* D' V, o, C( D
$extsub = explode('.', $tmp);
! E2 H5 X2 w: l5 C8 [/ _9 J$ext = end($extsub);
4 {# t2 J4 W# E G* _ # Q! Y# r$ Z: _* I1 v
解决办法 2(屏蔽错误) :3 O; ] L. S& k+ K6 ~% y
; }4 T" f1 x: t" ~* l1 O. V& g或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
4 r5 Z) r6 n" |- R# Q" b$ @php.ini中有如下设置:
- B5 ~% B4 I: \% ^0 Herror_reporting = E_ALL | E_STRICT0 ]9 y8 Z. \) O {5 _, R! O3 |
+ R1 v" P5 ^1 s9 n6 N% o5 a这是说,显示那些不符合编码规范的警告(coding standards warnings)。. V" O% ?; d( p P1 H
Joomla其实是建议取消error的输出,如果出于调试需要,应改为, E1 ^9 M( @7 d5 v8 }% x" h- T( |
error_reporting = E_ALL & ~E_NOTICE
& u& x9 N0 X; d. {9 p& U& w; b
5 \8 A* {& w; h7 } j5 i5 u问题得到解决。5 q7 b" q/ H8 d7 y/ H4 r/ r
/ o( [( A: B" \' V( m% D
% d/ Z5 _0 j' j: {% u0 dEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line+ H& N* Z+ k* Y6 @( D! {$ ^
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));4 A) X+ G* _4 O$ c
改为 :# E. S: o8 T" G! w
$extsub=explode('.', $tmp);$tmp=end($extsub);
# V' u% d4 A5 M7 o
/ c! E. Q v- Q/ c! @ |
|