|
|
" q# F$ ]' }0 h4 |2 J# c% E 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 错误! f X+ h' k9 @0 S+ [
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
" Q5 H! F0 _( H 1)将function gd_version()改成static function gd_version()即可。
+ v6 B" S3 B& p9 y& X! H8 b 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
( W9 q$ A- d" F$ F$p = new cls_image();
+ o. @4 C% h+ V5 ]2 C' creturn $p->gd_version();% ?! L+ o! [% O/ r+ z( J0 [0 b
7 z/ T! H% D/ Q" a! E1 G; H$ Z9 z; |9 d# p/ `" O% q: `0 O# R& x0 u
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:% }: Q& ~% A' b" ]6 {, I/ U; y
安装进程已中止1 u' c+ g* Q# H5 K' z- E3 a
创建配置文件............成功) i8 q c% n- z8 M) U* o
创建数据库............成功1 `4 R0 n' x* c
安装数据............成功8 J2 z' J! a# ~; Z" ~$ @4 p
创建管理员帐号............成功
! Z w/ h6 ?1 W& I( L处理其它............失败
6 }2 r4 I2 k7 T7 f {) I
9 B' W7 D8 H% fWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
( b8 `, f: x4 a% {' O无法创建目录,无法创建目录( J% l: r3 h% q! }! l4 k2 U/ ^* x" S, Q
解决方法如下:% t5 ]1 h6 G# C% E P( @) G3 B6 a
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: 9 ?( t! @- O+ Z' R% d. S
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
! g5 l* u3 }, R8 c& J l不安装测试数据库一样可用,一样正常,不是问题.....
+ u3 s3 D! c3 o/ H. V( Y愿看到此文章的朋友能解决问题; 9 N* E# p% m% a+ F0 v
- Q1 i# H9 S8 V, ?9 V& j2 ?9 u( N6 s' D# Y/ Q
ecshop如何解决includes\cls_template.php on line 418错误
; A4 @' ^% ?( f$ `
$ R; {; K! C3 d3 ^, n之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
5 t* h$ `% ^5 ~, gStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418( v: w! ]" m* T4 o5 I8 A2 w
第418行:$tag_sel = array_shift(explode(' ', $tag));- c- P7 z T- s! W, J6 S
0 c. j) v# x* d! V. j2 H p解决办法 1:
# v5 E* ] H6 ^' j$ |5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: ) _( {; m5 d2 ~1 h5 A
9 H8 G0 J: D8 `' S. R. B! O- R8 B0 k$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);& e9 V+ e, l7 }4 G" x
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值; E4 L9 k% Y7 I. m0 }& H
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
$ F: L! n0 k: c$ K3 m$ D" `
' c/ _. g% T3 Z: _7 I1 {7 }如:
9 O5 i% J$ l$ R3 u1 S: S; Ffunction get_dyna_libs($theme, $tmp)) `4 `4 {6 K8 f: f* P
{6 I( y& g$ b l
$extsub = explode('.', $tmp);
* _& M. ?) n. q1 `$ext = end($extsub);/ P6 k7 x0 p+ q8 j* d* E0 t
$tmp = basename($tmp,".$ext");9 t% k4 g, y/ w: M6 {) g& x
$sql = 'SELECT region, library, sort_order, id, number, type' .7 Y% |0 i0 g* [$ [4 U6 U" l
' FROM ' . $GLOBALS['ecs']->table('template') . C2 d' Y5 b: w, m% ?" X0 E. \
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".% i8 ?5 ^7 \1 `+ V5 j! J7 u
' ORDER BY region, library, sort_order';5 T: E( n& A, r! u4 `5 q
$res = $GLOBALS['db']->getAll($sql);4 y) a- v$ u9 Y4 y+ [3 o$ C0 F
$dyna_libs = array();% @ N% P) _$ _3 o c+ w" b. E
foreach ($res AS $row)
/ e! j5 J% t0 K* @ x{
( |0 V* m2 d3 S. m0 i q! U$dyna_libs[$row['region']][$row['library']][] = array(
8 h# }* _, e# X% e% g2 o& ['id' => $row['id'],9 e0 _: i: ^0 y$ U
'number' => $row['number'],
0 b$ n" C) P9 v9 [6 E3 L, `'type' => $row['type']* `2 I; B8 Y; _+ D) W
);
; a: a" c% y& P. E# u}
" k3 O: r/ ]: Q# f' d2 s: L& q7 oreturn $dyna_libs;8 u. c3 P; g% |/ e: E
}
8 Y: X6 v" i# [( b) X
* F2 g; G' @( O) r3 G% ~: t将$ext = end(explode('.', $tmp));
! D4 D& p4 i9 A改为
- n# s( v8 B1 R6 u' F# F' Z$extsub = explode('.', $tmp);# G- {. O- k0 A( I
$ext = end($extsub);
f! i7 I7 h C+ V . d: A2 w: B" D( p+ c# e
解决办法 2(屏蔽错误) :
1 y# ]4 C1 ], K9 t' ? 6 K# v/ W- m0 G2 V5 V# L0 d
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
$ U! m" L7 {# G3 vphp.ini中有如下设置:' S5 |: o7 S3 E
error_reporting = E_ALL | E_STRICT6 T9 J5 X9 O- w- ]. p8 i3 O- |5 h
/ ]; f9 c3 l; i |
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
( L# f8 i B3 H! ]3 W7 L- mJoomla其实是建议取消error的输出,如果出于调试需要,应改为7 Y, i) d/ ^3 z1 z: Q
error_reporting = E_ALL & ~E_NOTICE
- P, S% z, t/ O- H6 B% ?( x
7 }! |& {, g8 i7 a( `问题得到解决。
6 _0 h- V/ [; O/ Q* a+ l+ ^* }) }$ O. V. C+ _& h3 O
+ @5 B! `5 S- e: M4 W$ _
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line" }; c2 Q% F- L- b* }* a5 ~
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));' l# V: K: L0 S
改为 :/ ~) `9 n, f! n/ I t6 Z" ~. l! c
$extsub=explode('.', $tmp);$tmp=end($extsub);# O- a4 G1 Z" Q/ p
4 y$ ^8 M% X+ z. R1 h9 ^2 a
|
|