|
|
. c( R/ z1 C$ l* ]) k( d 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 错误/ t- a2 z E8 a+ s5 u2 _
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
3 \+ E, h8 ~4 W( Z! A5 j1 @ 1)将function gd_version()改成static function gd_version()即可。
5 b7 ?1 ?& E2 Q$ _8 } w 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
( n: \: }! k- ^5 t% E$p = new cls_image();
, v5 D8 x6 `3 n6 W0 ireturn $p->gd_version();
) ?2 {. x) W% I& U. S& S4 N' [$ R2 Y: d' e2 V
- K* `% h; j6 k! B @) k下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
% p' l4 H7 u: |2 I安装进程已中止7 W5 ^6 \0 n5 E) R
创建配置文件............成功
8 ]" t' d* F# f& c创建数据库............成功- B& O& z1 @4 D1 V/ v
安装数据............成功- b5 ^) ]( s7 }) D- T
创建管理员帐号............成功
4 N& Q! L2 i& D处理其它............失败' V: l! g0 n9 N( e! w
A: E/ @% Q2 i- q% m! F* C! nWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5282 I2 K4 \& N6 a, t9 I1 M. x7 _
无法创建目录,无法创建目录
, u h; d2 c; }' \解决方法如下:) P- L% ]$ {1 u% l7 j* |6 W$ \5 f; Q
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: 9 }& Z. g: ?1 C( P" u9 e
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
0 R( n$ T3 E( ^3 y$ \, Y1 d+ e不安装测试数据库一样可用,一样正常,不是问题.....- v0 Z* w+ C( P( h) v
愿看到此文章的朋友能解决问题;
" A2 Y4 j! s' p; _/ h. f9 q: k) J9 s. i
6 }7 I' n+ o8 ?" ?7 f3 k" }
ecshop如何解决includes\cls_template.php on line 418错误
4 E9 j8 s4 P& @3 I. H; U9 }5 m; O1 |) \1 s6 f
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:& w# i0 I% v* L+ h
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418. j2 l3 K E1 k' [5 t9 w2 {! u
第418行:$tag_sel = array_shift(explode(' ', $tag));5 N9 F( i2 m# u7 D
$ ^' R: j4 B" n* v解决办法 1:; B' ]; T+ J u7 M( A- d5 _/ Z( `3 ~
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: - `* E' e$ U C
7 E: {& `2 I3 k0 `5 |
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
+ K. I3 q# l/ s+ Y9 r(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
: B& x1 j. f m) l3 c5 Q0 U8 u' g同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
2 l& s3 Y7 u# a$ x. U
G* @; ~8 g' r- A7 C: {( Y如:
( W! x2 `/ I `function get_dyna_libs($theme, $tmp)5 ?8 l* P Z m( \
{
; p: }, F* G5 } k- |5 a- z$extsub = explode('.', $tmp);
" _4 `' ]- f! H( n' d) M$ z) U1 {$ext = end($extsub);
r6 F0 L- z6 N5 b2 P# M( G$tmp = basename($tmp,".$ext");. D( L) n, M( l; p! U9 O
$sql = 'SELECT region, library, sort_order, id, number, type' .
7 M/ V9 P( @: k5 T3 J% O" R8 v' FROM ' . $GLOBALS['ecs']->table('template') .
' k8 V2 _/ Z! o7 ?2 q2 @! H" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
/ x7 c" v: J) g' ORDER BY region, library, sort_order';
0 o7 Y$ |3 j I4 @3 E5 _1 }; U$res = $GLOBALS['db']->getAll($sql);+ u8 Z0 S7 c0 P- q
$dyna_libs = array();$ ]3 `% H' U" a2 W
foreach ($res AS $row): F, N9 s ~3 Q" r' x- A" }
{, n1 i9 r, u! `" m9 R) q2 I
$dyna_libs[$row['region']][$row['library']][] = array(
5 t. N7 H a* t9 r, r'id' => $row['id'], J4 o& p! ^$ m" ^4 c$ ~
'number' => $row['number'],( U7 ]% F2 k% b9 C
'type' => $row['type']
L" j, B! D: R. p. S4 [);
A: `- m* Y8 n1 O: |$ u! I2 f9 ], d/ |}
5 m8 M, k( s( Y( }; t: s, X" greturn $dyna_libs;
0 ]8 C9 h" j0 B+ v7 s. N& O}
1 U. R0 J, j. V4 B/ D0 ^6 ~ + }% Q% Q6 f2 P: T' b( s v% w" Z5 X
将$ext = end(explode('.', $tmp));
* a/ @9 o! h1 N改为
f. g7 n/ F6 O; R+ ~$ A$extsub = explode('.', $tmp);
* }. \+ h3 ]5 m# }0 Q N4 T: b$ext = end($extsub);- p; Z' I2 e0 K8 `) k% n( c T
) T* i" ~4 J1 j8 v2 U8 c
解决办法 2(屏蔽错误) :
- ?0 u& q* F1 I1 j
( }. M' J: K! \% D9 T5 _( h$ s或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
. k6 e/ Z$ n9 }& c6 Q; zphp.ini中有如下设置:; Q) p L. q9 z
error_reporting = E_ALL | E_STRICT" w8 N, F# E' P7 a2 {6 r& t
3 i6 H3 [$ B9 f7 |' B+ z( B' m) r这是说,显示那些不符合编码规范的警告(coding standards warnings)。
% Q/ ^9 d$ t5 x) KJoomla其实是建议取消error的输出,如果出于调试需要,应改为
$ X& P# N- I$ }error_reporting = E_ALL & ~E_NOTICE
& p( f! L9 A& n) F. J/ V" L9 k
6 f [/ }, \# K" n U' f! O问题得到解决。7 W) J6 J& X! u8 }+ z
! u7 ?2 A6 Y( Z/ q( H0 Z, `1 l
- W! ~+ h% x/ wEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line; f5 n% H3 U# c$ T, F8 n
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));! q7 e) Y+ `5 p- I; G! t9 e
改为 :( J1 M6 z7 j5 g
$extsub=explode('.', $tmp);$tmp=end($extsub);
8 ]: ?* N2 I7 O' t' D# R) M1 }$ @ L7 j; h0 Q3 u) I
|
|