|
|
9 Y" r2 B! Q3 R$ `! s' z
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 v; D* A- V
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
. t1 k% H: e9 s1 p5 y 1)将function gd_version()改成static function gd_version()即可。
/ h$ W& H2 i3 A 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:) Z$ j) }9 h! w1 k y, _3 ^3 t
$p = new cls_image();) Q' b/ J2 J! y9 Q8 @; ?
return $p->gd_version();
* l/ [, |' ~6 C3 F* E
4 b2 N7 Z. C/ l! ~# A
: A4 s! Z5 R. J下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
?, }3 T' x+ a1 s: a6 ^% h安装进程已中止
' E- Y7 j2 P4 \$ e: {3 X: j5 t% d创建配置文件............成功0 E# Y1 g; Q! o2 g
创建数据库............成功1 l$ M9 y+ I# X6 m$ O
安装数据............成功7 q/ n5 ]; m" f* F+ g- @
创建管理员帐号............成功
5 A- x" i& L. h+ v# \! y处理其它............失败
( s$ ^$ [: u, b
8 u) i; A, x1 z( S1 d" [$ V( A+ I. e0 kWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528$ ~1 \; i: A# B4 Y4 ^
无法创建目录,无法创建目录# ?7 O! e) [; X' r
解决方法如下:* `7 K5 @6 ]$ `" U
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: # C* M7 ~' h1 Y
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
4 \; I' Z: f1 ?+ d9 w; F不安装测试数据库一样可用,一样正常,不是问题.....2 Y: j& A% C M" z) L
愿看到此文章的朋友能解决问题; ; E- v6 Y7 p5 z J c; {
. ~; P% g& u W1 s
8 a% w5 K1 _* p! b v( K5 \ecshop如何解决includes\cls_template.php on line 418错误0 {: S# n2 }( \) F" P: b" F, S7 Q
2 B4 m" M* a: n: a
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:3 c8 P6 ?1 V4 z8 @; ]/ P
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
, Z0 ?& l/ \* F% D, b( t* x6 D第418行:$tag_sel = array_shift(explode(' ', $tag));; L8 y; A; r2 J( K1 H8 ]1 {/ v, P
& I7 ~ F' S [3 f: A* w0 u. n解决办法 1:
( @% x' o: p. D: K; Y7 _) S+ e1 j5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
1 I0 B/ } f3 ~) V # f$ d9 e8 h @* ~8 r; i
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
9 G: v& J/ e3 d! k3 \) ]0 N ](实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值* N! u; n& i: x* a( L6 c5 O
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决! B+ d& u% }2 L5 M* ?% E3 `% P
! W' t0 w Y) ]( L如:
" x0 V* r/ j( k: n3 ~. zfunction get_dyna_libs($theme, $tmp)" t4 G3 ^- {7 B8 f b6 y0 r A8 F
{
$ v. v+ P$ I `# v ?2 t- S, ]5 V0 i o$extsub = explode('.', $tmp);$ r1 r( |/ W# t0 P
$ext = end($extsub);
/ O: r2 X! E8 Y- L' f& V6 E1 Z$tmp = basename($tmp,".$ext");# U0 J: f2 g; b! K/ O! l, T
$sql = 'SELECT region, library, sort_order, id, number, type' .0 H" {+ e% k( E2 Z2 d$ K
' FROM ' . $GLOBALS['ecs']->table('template') .; n" T$ V0 s" P T: F6 E
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
- b8 ^6 I) m+ Z' ORDER BY region, library, sort_order';: y( j( y/ M* H e: |3 t
$res = $GLOBALS['db']->getAll($sql);7 E, |# O/ p2 Q: k
$dyna_libs = array();# O: C8 ?9 ^& b" B; H* Z9 ]" y
foreach ($res AS $row)
/ N1 e+ W" O/ \9 @5 f3 b/ c- N: M$ P{
6 r( M0 V# I" s$dyna_libs[$row['region']][$row['library']][] = array(' _$ o; l, k2 b1 J: H v
'id' => $row['id'],
; E" X1 i4 N4 S! s# i% U* z'number' => $row['number'],
2 y4 h r* S% A% \' Y/ P'type' => $row['type']
) N3 N* W- G0 m3 x$ N# q; I8 h' D);
! G' ]: O7 e9 f l}
* _4 C6 _) H; h7 _8 Oreturn $dyna_libs;
( h9 g* W- U" \- j! g2 c}6 Q+ D* A/ _4 @1 j }+ r9 X
# |8 R4 G0 B5 m4 @; D& W. ? k
将$ext = end(explode('.', $tmp));
. \: T" @) P5 l改为
6 k, D4 W6 ^: Q- t# X$extsub = explode('.', $tmp);
% R6 n y7 Q8 b! n* V1 H2 {8 d$ext = end($extsub);4 u9 V7 A; p" Y8 B' O
; J4 n" ]0 k) |3 r* ~& _解决办法 2(屏蔽错误) :/ t/ B0 O: c7 `. w, j; Q; T8 ?
2 j4 s. _2 z; Y) x0 x5 d9 b
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT: D) H$ p* L4 }" W5 t
php.ini中有如下设置:9 \* {- G% U5 F- y. e0 b
error_reporting = E_ALL | E_STRICT5 f, l- b7 B6 }5 M6 B
# a3 `" O# i" ~# R/ E$ U* Q, _/ [
这是说,显示那些不符合编码规范的警告(coding standards warnings)。6 x# g: }, O; r
Joomla其实是建议取消error的输出,如果出于调试需要,应改为) _" U. e7 U; F
error_reporting = E_ALL & ~E_NOTICE
_: R. E4 v1 E( O
8 k% r& r" i* d( m/ Y# y$ m5 P: M问题得到解决。0 B$ a; V8 Y8 v5 Z9 B g/ I4 \6 g
* b8 F% Z# ~/ K2 P* K9 E1 v: X! ]) ?
' X. Z& n# x) S+ U5 E" n) q rEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line& O; ~! }" v- o) t. v4 f
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));1 K# N/ H% T9 m- o0 P- q7 `4 X$ S
改为 :" E( _/ Q" b, z/ H& f0 ]/ W/ W: \
$extsub=explode('.', $tmp);$tmp=end($extsub);# s* k$ K, y& K" c& @. f$ f# t
& t; L/ }9 f$ ?- t Q |
|