|
|
: u O0 `0 }/ I8 |% ?0 a
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 错误
+ ^! v; u/ e5 s, F4 f, D0 F( { 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
+ b% ]" N- q, K5 N 1)将function gd_version()改成static function gd_version()即可。- a6 s, R8 u8 d6 `
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:$ A Y3 k, |8 d
$p = new cls_image();
) A, m9 _ v- x) E6 R {return $p->gd_version();) e6 _- W6 r) ^2 u1 O
- p6 G' G, J# M# S- N+ N
8 X0 y# H: \9 e% R2 F' n下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:( {( d w* j5 I! _1 G
安装进程已中止
0 S* P) m ]7 ^创建配置文件............成功
7 m( Z2 h- F& W& k创建数据库............成功. X1 v$ j6 W6 D# C' B B
安装数据............成功
' m! Z3 Q m, C" p8 B4 i创建管理员帐号............成功
4 S6 W$ J$ k ]4 d处理其它............失败3 K$ {! D8 C4 k) f% u
5 X# n5 ?* B8 e9 t J5 l8 pWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
- F+ A2 F! Y4 J& y$ X无法创建目录,无法创建目录
8 H* M( w T# W2 ?解决方法如下:
( l- ?1 J4 k- L" z) I v点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: 9 n- E! d0 G# ]$ J- L, C
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
. e# {. t% C5 ]7 s6 }, _6 f: o不安装测试数据库一样可用,一样正常,不是问题.....
4 ] j9 s( Z U& }/ d; w愿看到此文章的朋友能解决问题; ' H, f* N7 u- w& u& ^2 U
' u1 v+ s) @1 \4 X
4 a8 ^8 l5 u7 }* ]ecshop如何解决includes\cls_template.php on line 418错误; @# _4 |! ~% [: g/ S, e0 u
1 T$ D: Z6 J& D, z; j0 g' V# S- ^1 M
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:2 N9 _. Z0 T; a
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
) N/ l. c/ B+ F6 N, u7 G$ v! l第418行:$tag_sel = array_shift(explode(' ', $tag));* j: D Q- |/ J
% G( F4 i& f3 B! n) `" B2 ^/ w
解决办法 1:4 W1 T* V0 P$ `( W- v' v
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
- l& ?) u* q$ j ( D$ X- {% l/ N1 D. ~9 _
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);; t- u0 n/ p u2 c2 [' ]6 j$ V
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
4 F* Z1 y6 A0 @同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
- y- x2 u. N* S# G( \, u( y
, ]1 P6 q* ]: K' Y4 c9 f% m如:
5 ]' \( I& ^% E8 ~4 p5 dfunction get_dyna_libs($theme, $tmp): A! C& ~8 [, C3 |+ O9 ^8 p
{5 T1 O ]$ c; h; Y) a( Z+ D
$extsub = explode('.', $tmp);
: z1 @ I- e1 X8 m1 |$ext = end($extsub);5 w& o, E7 M: a H/ l3 F2 @: u# l
$tmp = basename($tmp,".$ext");
5 @% R7 X! c5 a# f3 a2 w$sql = 'SELECT region, library, sort_order, id, number, type' .( x+ J9 U% u. x6 }* B# c* \
' FROM ' . $GLOBALS['ecs']->table('template') .' ]& o; T3 {0 _2 W( K4 ~; d
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".3 t0 U4 w' h0 B+ s( e9 m
' ORDER BY region, library, sort_order';, k5 j: L# _7 r3 _0 C8 z
$res = $GLOBALS['db']->getAll($sql);
6 z5 Z9 q2 w" X( i! J$dyna_libs = array();( P4 C1 h4 Z }* z% u
foreach ($res AS $row). v2 N) B1 q: \. I4 X
{0 y7 H; t) }# m" }5 D
$dyna_libs[$row['region']][$row['library']][] = array(4 c% L0 A( y0 {% |& v* q
'id' => $row['id'],
# q) t Y- b" n/ p* l% [! }9 v'number' => $row['number'],
: D+ v* J0 k, U m9 j( B. u7 k'type' => $row['type']
* ~7 n! f# _$ g);
- A1 b& Z5 W8 Q6 f' b+ Q/ P}
; b) b9 |; Y) l- a0 xreturn $dyna_libs;
5 z9 g6 I Z* w3 {& ^5 F8 a0 Q! a2 c/ l}
! }- G, d% h7 d7 D, H2 u* [: C & L8 K* r/ @5 A2 d- [
将$ext = end(explode('.', $tmp));
) E* f! a- D" A$ d改为- ], |9 o& J/ F! j5 ?9 h: n
$extsub = explode('.', $tmp);1 I* @6 P) n: E! j' u6 B
$ext = end($extsub);' p! y$ |) j3 B6 v: s) q; d
+ b) @, o; ~. z: v U a7 O
解决办法 2(屏蔽错误) :: l: ^2 ]7 f8 j! ^: }8 z
7 U" h0 }/ F- X* R& b: }或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
& T* Y" x3 _: p: s* Hphp.ini中有如下设置:
/ L0 [5 y ^- I. A$ w* A! ~error_reporting = E_ALL | E_STRICT
3 P: F, |# P1 c+ _+ u( o8 u0 } O* ]% K4 f4 n1 x
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
! H' c0 A; j# G" |, f6 { a, @Joomla其实是建议取消error的输出,如果出于调试需要,应改为. {; U1 @7 R$ P8 J; P3 i7 A
error_reporting = E_ALL & ~E_NOTICE
% i" e u8 ?6 l, h- R 0 j$ B: S, Z1 c) }6 p6 w
问题得到解决。
7 K7 ^7 @+ Q; V, @$ E8 \2 a; y& y# o4 }+ }: H' F [ G5 K; N
5 E, D$ l) R# h! }- J( T& Y: YEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
- [, |8 I1 J' g/ V& b9 Hphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
/ z' d" y1 ~/ B9 a( E" [改为 :3 v4 g8 d0 ?, N1 S( q& Y+ f
$extsub=explode('.', $tmp);$tmp=end($extsub);
" M% X! `, [7 S; `+ y" F0 t9 w7 C3 ?
|
|