|
|
% P9 r1 C3 l) ]( X$ g6 l" n7 Y 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 错误$ e& l8 T" h5 k, `; X* ^' I$ s
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
3 a5 g( n+ A. D! K1 m; E4 |% P 1)将function gd_version()改成static function gd_version()即可。
6 [* O+ @( E5 d7 T" [7 B2 {: C' T0 c 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:) Q. U/ f7 Q$ g( x* g2 r, L
$p = new cls_image();' t3 M2 V( T, N+ E- b& Y! f4 Z
return $p->gd_version();
1 ~6 A1 g& C9 K' ^( |5 w$ }2 J' r9 [( b( ?
' y0 J h( F) n- w0 e3 v
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:/ Z3 q& h1 B5 G! j; ^, y2 ?' v. s# ?
安装进程已中止3 D5 C: I5 e+ D# E! s
创建配置文件............成功4 Y$ r6 I. D h$ P0 ~7 o4 H
创建数据库............成功
) P4 c7 a, X! {. Q) L" |& U$ F安装数据............成功
. r& h+ d3 o. K( ?: e$ Y F创建管理员帐号............成功
7 Z0 J6 @. `4 ]# |! |处理其它............失败
, h1 Y. h, E9 x) [
. J' R1 x5 t* n) xWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
( e3 ?& I* O& j无法创建目录,无法创建目录
. w# O4 {" {5 p6 A, u解决方法如下:1 g# ]4 w+ t& T3 A" b
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: # W+ ^1 l( F# m8 U
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。& v: N0 t) L6 g% D1 V) V
不安装测试数据库一样可用,一样正常,不是问题.....% Q2 t' C# H, K) ~, Z! d1 D$ ^7 c
愿看到此文章的朋友能解决问题; $ K& `2 F' a- o* u
: J, A' Y& k" o# k# J
1 h0 i! B- \; o6 eecshop如何解决includes\cls_template.php on line 418错误
9 l* B$ T& A P8 ?6 W" M6 F* u: `' O1 b
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:, _* M8 c" d3 s7 J( g9 x
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418* m( l# u( ~' V; l) Y; E
第418行:$tag_sel = array_shift(explode(' ', $tag));
- c+ L) P- F1 r# c( G7 A& a
: g3 n9 G6 t2 v- |2 |解决办法 1:
6 y$ o' @- _5 Y% n5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 7 M, Y( ?* P4 G" `) N7 S
6 \$ T+ ^7 s4 H; p9 Q* J
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);' m1 _! T$ I% ]- w# u; F
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值, z9 i! M- S. k
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
0 F9 }& H3 B% x7 \3 h
& k# g9 Q2 F! ]3 j6 ^5 e如:- ^& b! P% }" j+ j" c
function get_dyna_libs($theme, $tmp)
# Y" w2 M/ [ V( q/ [+ {7 {) J{0 ^2 ]0 L J$ P4 o
$extsub = explode('.', $tmp);9 P+ c/ b2 _+ L$ W
$ext = end($extsub);
5 y [& E5 a, u1 x" G$tmp = basename($tmp,".$ext");
8 o- z' q/ ]- j y$sql = 'SELECT region, library, sort_order, id, number, type' .
1 A7 \$ v) Z1 U7 i# l' FROM ' . $GLOBALS['ecs']->table('template') .
* r, k4 D) [ |& J8 M5 i @" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".0 ]+ m3 `% q6 ~; J1 w1 s' G
' ORDER BY region, library, sort_order';: g1 V1 I, [- N* j
$res = $GLOBALS['db']->getAll($sql);
9 i& n- F8 ^. I. h: f& w5 y2 a$dyna_libs = array();
# Q, q1 Q5 b3 e! y6 B7 rforeach ($res AS $row)
6 p7 D8 B& `6 W c{
6 K0 A. X. a+ f5 Q, x$dyna_libs[$row['region']][$row['library']][] = array(: c0 s! i/ S @; G
'id' => $row['id'],; |! w9 R3 ?( H8 |' V0 G/ G k
'number' => $row['number'],' n4 A; h, X2 F: P6 _) \. m
'type' => $row['type']
+ E. Y: g! Y0 A5 g- e);2 o1 P8 Y$ V U+ H# \5 ?' w6 A
}
- ~( `2 ?& F) z1 h- I6 Areturn $dyna_libs;1 I* x" \7 B: `0 k) j. i# I' S
}$ j1 c. a+ s6 m
* a/ L' d* W$ i3 y! M$ d
将$ext = end(explode('.', $tmp));
c4 N' m- I+ ^: E4 \改为
# O' i* I, c; P- [; [, e$extsub = explode('.', $tmp);
; j0 J. O" Q# t, l6 i$ext = end($extsub);1 J9 W2 I+ p4 [
! w; I; }, {6 J0 y0 X" `解决办法 2(屏蔽错误) :
: I1 K( Q" x$ j' N% Z
- H2 _6 y; Q/ ?5 ^9 h8 A- S或则如果这样配置的话: error_reporting = E_ALL | E_STRICT) K$ w+ \5 v6 {4 G$ F
php.ini中有如下设置:& Z- G0 T9 Q& `7 ]. D9 q
error_reporting = E_ALL | E_STRICT
( f9 ]# x# a0 B. i4 s 3 o5 D5 G2 v* p A" `% m
这是说,显示那些不符合编码规范的警告(coding standards warnings)。0 h0 ?) m9 r% F9 ?) h
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
) F# q. i4 d3 Q, r1 a _error_reporting = E_ALL & ~E_NOTICE0 Q# @# @; C Q$ u" ~
2 d$ L1 T9 s( {) X问题得到解决。
) }+ N2 e# R/ h, B0 p' c! k) `0 p. O' [* u
- h' d8 ~7 D, O2 p! ^. k
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
1 V$ V% o/ X2 x+ @php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
: P1 G4 A7 F5 `' n8 Z' C8 k% ~改为 :
1 \4 W+ A6 c6 x) w$extsub=explode('.', $tmp);$tmp=end($extsub);
1 g( e S6 q( L: R8 Q1 J( y) }4 c S
0 z" d* F! A1 U/ I6 p' R |
|