|
|
6 G1 o2 G- Y0 c. 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 错误
+ O! E% ]8 t# K0 }" s: p5 v, @2 u 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
9 I) U! [0 W: u! @ 1)将function gd_version()改成static function gd_version()即可。
" c7 t) ]# Q; `) u) h0 _; { 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
. M8 `, r w: s7 s' F# A% ]2 }9 l$p = new cls_image();
% R/ _0 h- w; n; Y1 }return $p->gd_version();! I8 A) c" u2 J/ h5 R' K
1 J/ F1 Z2 d5 o7 C; a
( t3 Z& Q! ]" R% n' p下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
5 a6 r' k* s$ n& Z* p1 }) ]安装进程已中止6 n+ Y/ G. E$ h" T6 D
创建配置文件............成功& |, w7 P' L+ i* s: t1 ~( b; J
创建数据库............成功! T7 q$ t( A/ W. b T
安装数据............成功
) P* R+ i% y5 K, H6 ~创建管理员帐号............成功" F4 ]/ D1 P6 p" b
处理其它............失败
; \5 L' V5 d! u2 \& p. N& A+ c$ ^% r t3 `. {: u U, S9 l
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5281 _' q" K& L2 l, c' l
无法创建目录,无法创建目录# h x( N$ x/ n; i6 B0 x% y
解决方法如下:
8 I3 C) _2 f: s, \8 v8 t点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: ) o+ X6 _& m$ I% v# |/ b+ L
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。) K9 f; k# Q+ i0 M
不安装测试数据库一样可用,一样正常,不是问题.....0 _, t* t) z, F7 _7 W/ {$ }5 _
愿看到此文章的朋友能解决问题;
% I8 [4 R% q6 o0 R
2 i' E' C! s: J/ J) x" X/ V% L+ M" P' {; {8 C- i* e. p" x* B
ecshop如何解决includes\cls_template.php on line 418错误 L, ^4 ^) Z3 }; y: N' V
+ b# E6 \. f9 @. j
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:* M, D% e4 v* x5 y6 n8 l' J1 A
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4180 j8 b6 c4 r& H( Y9 C8 y4 L
第418行:$tag_sel = array_shift(explode(' ', $tag));' g2 r1 n" f: f& X( Y, Q
$ M: w g3 g+ ]+ c+ G! {; `解决办法 1:- y6 `" u6 Y) Y% S% B$ V; r- J* w. z6 l
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
" ]; i [) L7 ~% w. f: ~4 c- [ : p' v4 h, S% g8 g+ H. _& a+ y
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);+ H& ~" O0 p6 E% {
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值! q5 M4 o8 X x: n6 a1 b* e
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决/ _( Z& T3 D' k' F% E7 h1 K
* @% M3 ~" _/ D+ d1 s! D如:
# h' L8 o8 V+ V1 vfunction get_dyna_libs($theme, $tmp)5 V5 e7 E* S8 E! O* a! ]
{
. x4 O' B# F6 L0 o) t$extsub = explode('.', $tmp);
5 _& e5 x0 w7 K# N' ~# ]$ext = end($extsub);7 b! n# I4 }7 ]$ Y- R
$tmp = basename($tmp,".$ext");
/ V- r0 Z" m! S( U5 ~2 K$sql = 'SELECT region, library, sort_order, id, number, type' .
2 D9 \6 e) k1 \ @+ @+ G6 _' FROM ' . $GLOBALS['ecs']->table('template') .. q" T) v1 j& \4 }
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
4 o) d f' H# z4 y+ s! [" |' ORDER BY region, library, sort_order';
@: X. S. @/ X# Y$res = $GLOBALS['db']->getAll($sql);+ w4 d9 W7 ~2 A, y
$dyna_libs = array();2 X- ? T7 M; p& e0 V) g
foreach ($res AS $row): f/ N4 C% z) N
{
7 S# |. P% c5 O9 P4 [$dyna_libs[$row['region']][$row['library']][] = array(
! s% p( ~2 i8 @/ ]5 ]'id' => $row['id'],1 n/ n3 S1 a4 f. @* b- z
'number' => $row['number'],$ S) C4 H/ q* A+ Q$ E8 `
'type' => $row['type']6 h6 Y1 ?7 Q. [* ?
);
5 u5 y8 Y* E* g' S9 b4 z}
9 F$ \" Q8 M! F: a, h8 M6 z' i! Treturn $dyna_libs;' O4 R* x+ W# v3 Z0 I
}% Q8 N6 _% p, H; i, i+ f
! q1 S4 }5 b; n- z+ ~; L6 D/ T! T将$ext = end(explode('.', $tmp));
" _' {1 l D& b1 ]9 T3 ?改为) o, V. }& X7 \: X: C& N6 K
$extsub = explode('.', $tmp);
2 \4 K- t1 k" C9 \; |; v+ F* _8 c$ext = end($extsub);5 ^+ h0 \+ F, Z9 o, U: b
0 p4 h; S* m0 ~0 r" U) K解决办法 2(屏蔽错误) :" c6 j+ R6 j' d
* u" j9 r' @' C2 }, w# T/ y9 L4 p! X3 j
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT1 V: M0 e( N& z4 w# i
php.ini中有如下设置:; v* l: X. y. K) u
error_reporting = E_ALL | E_STRICT
; i% M, c2 z" q v$ c& c r7 i 0 C# s9 g- B2 V3 D; V5 b
这是说,显示那些不符合编码规范的警告(coding standards warnings)。: e4 p& c% C: @' m, @) {
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
9 ]) C" e3 t p* r6 u7 b) Nerror_reporting = E_ALL & ~E_NOTICE
9 c6 A! \/ j$ U# J5 B1 g1 { W: h
7 `) p$ @3 z7 Z5 b' C# e% \& L问题得到解决。
8 Q: N& y4 t- b: f: l7 ~
( n: c" K6 y2 q h9 `' A0 f" g6 a& \+ B: A& ?* @( d
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line9 r6 [/ s' |+ b" ?
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
4 X- ~1 h0 e# z, w改为 :
% e9 y4 I" U5 T' @# W$extsub=explode('.', $tmp);$tmp=end($extsub);- M& p* D" l1 z4 z! i
& t: J8 |1 f% t; I
|
|