|
|
9 F) T+ z& a* j* f- i- v 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 错误
8 B) [: l/ h+ P8 ^8 \7 x- A 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
- t" V5 B9 b+ q! T 1)将function gd_version()改成static function gd_version()即可。
. F+ g( n6 m1 n 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:. ^* C- o3 i- r2 S: t; ~
$p = new cls_image();9 h" U2 L! i4 R- u5 Y% L$ C
return $p->gd_version();
' w9 }3 ^; I" v' c4 G- J9 Z7 f
' F$ z C+ N5 l3 _
2 o9 y& n) k& [& y6 c5 Z# [下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
8 j N! Z2 R4 D4 \/ J8 G安装进程已中止1 y* q1 Q; j( N- B
创建配置文件............成功
E# Z* p2 n+ v7 L4 B创建数据库............成功
3 e2 U# J3 l. w: {8 Z, o安装数据............成功
8 W0 _1 h( Y* o+ ^( ?$ f创建管理员帐号............成功* O8 Q, e! d V( f
处理其它............失败
1 ~/ A5 J: ^2 B+ v L) L' u
8 v. e5 u! i3 J( r6 u: s5 Y6 mWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
@* s6 S" H! q6 v: n8 D无法创建目录,无法创建目录
+ K3 ]5 }6 O+ B# U0 v: }( ?9 W解决方法如下:* H# E, `3 n& Q& v6 n1 g) h1 m8 N
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: 7 q; e5 F+ p, h0 |/ q4 `. B8 n7 H. k$ U
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。( d' j8 ^( u! @, ~/ O! ~
不安装测试数据库一样可用,一样正常,不是问题.....
1 {1 E" M0 J8 k# {" j愿看到此文章的朋友能解决问题;
/ \, b" {) c$ O( i: g7 }& ~, T9 W* g6 D1 F) M2 n5 F1 M
4 s5 W0 d+ X: U. I5 d
ecshop如何解决includes\cls_template.php on line 418错误6 X6 D+ G4 r0 o' p
% Q, B; P4 Z; @! |. _. n之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:8 ?3 f9 _% h! g7 u- n
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418# R4 b7 I( |% t
第418行:$tag_sel = array_shift(explode(' ', $tag));
3 T9 X. k8 _, i- V
3 b7 n. ?6 @2 D! r解决办法 1:! `! F2 f( L% ?2 q: @3 d- ^ t
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 8 C' F6 k2 K Z2 U. X) J9 V8 |
y) R# t7 p+ S T8 B
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);2 o7 S* t% {& r0 w. r3 {
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值5 Y/ ~8 K9 J+ `, ^6 g
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决7 I0 k$ T8 n. D* n
8 o5 Z' E0 h; n
如:
/ s5 K; U& {8 ]: n. I- mfunction get_dyna_libs($theme, $tmp)
7 y# R) @$ E8 N: R. a3 K& F{4 y0 Z. ?$ L" s6 S6 {
$extsub = explode('.', $tmp);% |0 ~. d/ }' p3 ^
$ext = end($extsub);
t1 K E3 }2 h+ H7 J. Z* W/ c5 F$tmp = basename($tmp,".$ext");
) g$ i+ ?8 \. P3 Y- K2 {, X$sql = 'SELECT region, library, sort_order, id, number, type' .
% s: h. w9 W% U' FROM ' . $GLOBALS['ecs']->table('template') .
+ G* w3 J. T' M: ]/ j1 t" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".8 ], o7 w! J- c+ `4 A
' ORDER BY region, library, sort_order';
: D4 C1 ^1 u- W& F- d& h$res = $GLOBALS['db']->getAll($sql);
: K8 i# z7 E4 X- w x8 s$dyna_libs = array();
4 r: G1 |3 T) I: ~foreach ($res AS $row)
8 n3 M$ S4 L8 k. b{3 ?' P; u0 E, A
$dyna_libs[$row['region']][$row['library']][] = array(
; i) u9 O: V! ['id' => $row['id'],
7 T |- }- k, g# ~'number' => $row['number'],
9 y$ [) R; c+ u. y7 k2 A* V8 @'type' => $row['type'] g; c$ Z1 v7 z: |0 m- a. h* J+ D
);0 @# f* J! Q; b7 r+ h0 z
}
1 }3 r. T0 |5 A `; rreturn $dyna_libs;# j/ g9 q5 K* j
}! d4 }1 Y6 U" U& g1 h# F5 U
; G. D9 ~: T" m0 D' N
将$ext = end(explode('.', $tmp));0 R4 }7 _# ]6 r, P
改为
/ L# V3 e- F$ U% j e! k" m$extsub = explode('.', $tmp);
* d5 g* Y2 `; I' D8 R% G7 G$ext = end($extsub);# C/ m6 g# @4 ]( ^0 j9 X
4 z4 N9 h( _0 p) s4 v
解决办法 2(屏蔽错误) :
5 Q5 z, |! o" C7 D
9 \0 z/ U% B* r0 @/ [或则如果这样配置的话: error_reporting = E_ALL | E_STRICT' f; i' ^! F% E% U5 H
php.ini中有如下设置:
8 a( `) Q; Z2 M" S9 {error_reporting = E_ALL | E_STRICT
( m& O% ]7 Z. |; V$ Q 3 i" W2 V3 U4 M; K5 e- I* P G
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
) C0 i4 x0 G% |* rJoomla其实是建议取消error的输出,如果出于调试需要,应改为% c+ Z- `3 v7 }; U' g
error_reporting = E_ALL & ~E_NOTICE
4 L: Y; l& X F) Q2 q, g; g" Z
- Z' h1 V* Z; P# g6 O3 T$ E问题得到解决。# ~: {* o- ]% c4 v/ Y1 J: Z
! J U- g+ H. @ E
* D% G& V2 W8 D6 c) T
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
2 ~+ X5 l, A9 Z7 kphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
) n; T$ P! x0 `1 e6 ~+ \+ n改为 :
3 B' [! V8 W& a6 v& u$extsub=explode('.', $tmp);$tmp=end($extsub);
9 ^4 X& ]2 { V7 Q0 k. ?2 g, R: l. q5 |( Y$ _" |( ~8 |
|
|