|
|
- W% ?$ ?$ i: G: Y- [2 x% p
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 错误$ b$ O: i3 }& C8 B' |$ C- i
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:7 N2 C" O& E5 P% S8 U- k M
1)将function gd_version()改成static function gd_version()即可。 B' |) I9 M& u
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
( J3 o- l" L# `9 S; a- B$p = new cls_image();4 q: S5 s$ C3 f2 ?
return $p->gd_version();
1 x4 Z) b' C: R/ O: |7 ]7 v5 U4 D/ Z, F5 ~1 L
) _: X7 n; o0 V' {$ u6 O
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下: @) O2 I% x/ K$ D, {4 `: e) Z" R
安装进程已中止7 A! ~5 O$ Z. h0 a
创建配置文件............成功
4 ^, M$ X9 S2 e1 X: D8 R创建数据库............成功
. k0 j4 c' Z4 L& D. Z安装数据............成功
& ]( r5 ~ d$ z5 D1 y3 p创建管理员帐号............成功0 f1 s, q. }2 T! s
处理其它............失败
4 m7 a: w* ~ R5 X D
+ A# T) \- T/ u6 oWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
" I. |1 S7 v, `" n/ p; A无法创建目录,无法创建目录' Q2 [& Y2 K% Y5 w/ x+ E/ q; J
解决方法如下:- y f: d) j6 ^' f& T. v0 |
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
" w1 i! J9 J" G+ f" J(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。! V7 a+ m) G+ c* s7 ]: m; b
不安装测试数据库一样可用,一样正常,不是问题.....
' m6 [! D% k! m# ^* I( ^. a愿看到此文章的朋友能解决问题;
/ s+ x9 H H6 H$ J& Q/ o9 Z( Y# I! g& r; u. j' s' I! x
h" w S1 W& L* l" T0 A' g) C C2 j1 Tecshop如何解决includes\cls_template.php on line 418错误
1 J* {$ q% J5 i/ M% h9 q* T: G* n5 _# y$ W9 g* L
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
. r# |1 E/ W! k2 y9 ?Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418! m3 q2 M) O: h8 Q% D! Z
第418行:$tag_sel = array_shift(explode(' ', $tag));
3 j! E" d" I/ B% y* ~
0 l3 D6 y, }0 ]5 k. u2 u4 Z解决办法 1:
+ A3 P" Y( g2 s5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
0 h+ q6 ~& q C9 X8 B& W
: @+ f8 t4 N' k, i4 a* S$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
7 `( Z+ O" M) H; W(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
% M( Q9 k/ U2 N' \同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
! N2 K. N0 X5 @; i! G' Z ) d0 g0 _ Z0 T3 W& x' u
如:
: V/ r' ~2 U; @. y0 d2 G8 I. y: Xfunction get_dyna_libs($theme, $tmp)* p" e+ Q! H2 n# g& [
{- s4 x s, O" ?; a7 h
$extsub = explode('.', $tmp);
. p4 T- y" {1 b) G3 o$ext = end($extsub);+ a1 r; i0 \# c) g+ J) {' B4 D3 x1 u& V
$tmp = basename($tmp,".$ext");
. ]$ b' X V( l( b# i$sql = 'SELECT region, library, sort_order, id, number, type' .. i( Y0 M1 N' k& w- |) q
' FROM ' . $GLOBALS['ecs']->table('template') .
7 H" X6 v8 q- j# b6 W" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
1 ?* H' t' v/ \8 C* o8 ]9 E' ORDER BY region, library, sort_order';" H# G6 h1 @5 m' h' w3 |7 ~4 ?$ ?7 n( ]
$res = $GLOBALS['db']->getAll($sql);1 v) c1 X0 T. E6 S$ c
$dyna_libs = array();( @1 \0 Z# @5 ^. V
foreach ($res AS $row) k- ~* ~% B( [' o
{- t/ c! B; l: J, A$ Q+ n3 Q- N
$dyna_libs[$row['region']][$row['library']][] = array(4 W5 _4 [0 `/ e9 o- }
'id' => $row['id'],
: A6 u) d; r& L0 h- M, m'number' => $row['number'],3 s# u) X1 l9 V+ i
'type' => $row['type']
b- `" d+ t% x);
' D: e f2 g6 K# W}% x- `" v3 {% w; G# a3 V
return $dyna_libs;3 Q! v" U( u' g U* t; U$ |
}/ H- n( L/ q, a* A% U
& V( X) \2 Q% ~* \6 R
将$ext = end(explode('.', $tmp));( A# E/ t* } p" X O
改为0 U* \+ D! ?0 [5 X5 T
$extsub = explode('.', $tmp);
! M6 ~/ e* T; t* D$ext = end($extsub);% t8 ~/ R$ ?9 f! ~) V1 e* m6 X) P
& |# ^2 t ?- C! Z解决办法 2(屏蔽错误) :
) ~ O3 @4 ^$ Q o q$ u ) v$ C- O+ B. Y8 P7 w2 S/ w
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT" x$ n% w, G- K( ~( t
php.ini中有如下设置:0 ^" s5 h+ W' t
error_reporting = E_ALL | E_STRICT& {1 S F6 M% I8 a2 z" U
7 i# r" \$ a9 H# r这是说,显示那些不符合编码规范的警告(coding standards warnings)。
# d- `/ f7 N% ^7 KJoomla其实是建议取消error的输出,如果出于调试需要,应改为# ^# |1 G' r% y5 p
error_reporting = E_ALL & ~E_NOTICE& D" A1 a2 y* e5 g
: z( j5 f" F L% @
问题得到解决。- N, v3 B f& P$ ?& Q
9 g+ |! c! T5 L; J# `( h* h
% C: r& ?% y: D) ^
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
. B( K4 i8 v1 K3 g8 a$ \php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));6 o9 Y' j- N Q Y d# Q
改为 :
9 g& y& l! e; r+ T8 |6 R3 z$extsub=explode('.', $tmp);$tmp=end($extsub);
2 e& a' A0 z7 \1 R) Z3 R/ N4 W1 f+ r! X$ T
|
|