|
|
H, ^9 l, S+ N4 a# a5 y6 o 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 错误
n+ I! f% A1 f1 D: H2 l" R8 B0 p% y 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
, S3 A9 W- T1 B 1)将function gd_version()改成static function gd_version()即可。! D$ O) z& m y* a& }0 `0 s
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
8 w/ q' m% l c% c) Q$p = new cls_image();8 d( B n H7 V) L1 l+ A
return $p->gd_version();
! }' x i: Y* q' Q Z/ D4 P2 U) k1 |
* q, j9 N; {& e3 ` m! X1 y
3 p$ I- h8 b; c1 C* g下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:+ n) w/ W+ ~$ H g: s. N7 ]- V
安装进程已中止
( k+ V/ P# c) U- \3 E2 @创建配置文件............成功, U0 u b( l* @" u0 v# H4 X
创建数据库............成功
) |1 X% h w) d5 c8 B, [/ P0 R安装数据............成功
6 }2 g$ d! n, a创建管理员帐号............成功* N$ b" @5 w A( j( ~: _ a: `
处理其它............失败
5 U4 C2 `0 V) g( K, K
# v& ^; r: E, p' e% r* p' FWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5287 \3 y- d. u7 C: q) V, U
无法创建目录,无法创建目录
5 E! P% y! X' H( U4 J7 z- g解决方法如下:9 [+ {3 y+ o; x8 G( U6 p2 G
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: % ?8 |4 N( ^: z ?6 \
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。6 g5 o' C3 W5 U1 C# ]; h3 f
不安装测试数据库一样可用,一样正常,不是问题.....4 t, B: ~3 p2 B& ~( _/ Q) R, ?2 k
愿看到此文章的朋友能解决问题; & k2 M& S$ W/ Y2 |
4 ?8 C- g, v! T" O7 B* G. r8 v; v, `- a( m
ecshop如何解决includes\cls_template.php on line 418错误
% ^' L! X: J: X' u0 {
# p; N# B [2 q# Z1 q之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
9 x3 i9 B0 H! O5 N0 r) `Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4183 ]% Z) C9 @ z% e4 `
第418行:$tag_sel = array_shift(explode(' ', $tag));
* ?- ?7 q' D0 _+ @7 x& f. B3 R' R
. j& l( I" X; h/ a$ O解决办法 1:- k0 C7 W' b" [ |9 Q
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
4 Z* V9 Y- S1 p4 o0 _8 Z
' e0 ?6 D# \, y$ h( z5 [$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);. p8 E" j7 P7 W3 N5 b& |
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
4 {1 Q1 k- D6 {5 K% R3 ^( e同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
: n0 ^ }4 F- |2 e2 K
- ~0 ?" V% X, e$ b3 [8 n如:0 A# m3 N0 @8 J7 ?
function get_dyna_libs($theme, $tmp)
; z" ^/ X0 F3 M8 G{1 [7 \# ]2 _& `! d* T0 N5 y
$extsub = explode('.', $tmp);
, z% ~% m9 g8 X$ q$ext = end($extsub);
" j5 r& C. U2 @$tmp = basename($tmp,".$ext");
- @, n" g- n& J8 Z/ r$sql = 'SELECT region, library, sort_order, id, number, type' .
- C$ ]0 i9 K% [ l$ e' FROM ' . $GLOBALS['ecs']->table('template') .4 h3 h: |- ]8 a/ V6 g
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".4 w+ N. e% F* p% D; R4 x
' ORDER BY region, library, sort_order';
/ U0 h1 X% D4 d. {) t$res = $GLOBALS['db']->getAll($sql);
; {4 z& k. h1 w/ v9 Z% K$dyna_libs = array();
D/ {+ q% j! B; W5 Lforeach ($res AS $row)
$ u/ N# s+ ^9 r! g0 H: t{
5 f2 `1 q, }8 T( B3 }7 C9 q$dyna_libs[$row['region']][$row['library']][] = array(8 ?% A' H3 R2 H. A& T
'id' => $row['id'],' l( B, O2 T0 s" c* }9 w- {
'number' => $row['number'],
8 F' x0 Q! N) @( J2 c'type' => $row['type']# u5 @$ s) s) C2 r
);
6 H S" ]( F" [+ N}# U0 o6 c3 l3 H; V! m& F
return $dyna_libs;
) A V, Z5 q* _( g! g; B}
& I8 m' t; Y O, a* z8 x( { 2 x. ?% q* r% Y
将$ext = end(explode('.', $tmp));1 D( E6 U( Y$ n# I# a2 j+ ], c
改为; Y& L$ P; n7 V! ^2 t
$extsub = explode('.', $tmp);
& h& C1 ^) A6 s7 y) _" p$ext = end($extsub);
. ?7 e g- [1 z) D2 o
8 E* k/ D6 w; H6 w2 L( u解决办法 2(屏蔽错误) :0 C; V/ }3 _ t) ?0 F
* r3 L1 } J4 F7 P+ o或则如果这样配置的话: error_reporting = E_ALL | E_STRICT/ `$ }7 }& r' H8 J+ o3 e/ V
php.ini中有如下设置:5 o/ g o- P, d$ Q' a
error_reporting = E_ALL | E_STRICT8 u. k% f) ` Z0 S! b3 p3 E3 Q
* _. R: `& y9 D$ W5 [5 i
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
/ l: i( |3 n3 z! G- C; o+ yJoomla其实是建议取消error的输出,如果出于调试需要,应改为8 d6 v! U) B$ a8 X3 z1 x2 P/ \% \! T
error_reporting = E_ALL & ~E_NOTICE. M7 z& m( A0 j# P5 ~% I
- M+ g; w5 r) P; ?
问题得到解决。* _( @& N' ]7 I% C4 t
. ~4 P* q/ x$ u4 O a/ _
, M+ l. J* A! j: ?& z8 Y% t1 L+ V SEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line) o2 n0 i! k% C+ S4 P
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
: @7 r% x P* y: X/ b5 \5 q: l8 m% s改为 :6 P* y- k) j G; _/ K: N
$extsub=explode('.', $tmp);$tmp=end($extsub);
2 j# S" y* s5 Z' S( f
) ~ E1 p% _+ u$ @% p' D |
|