|
|
. [* u0 K) P, Y! R 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 错误# U& ] d/ ]! s$ ~. D1 S
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
- G2 d' ~# S8 }& F1 I2 L( R 1)将function gd_version()改成static function gd_version()即可。1 B: C1 i! S- Y, d; T& @3 M
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
. i) ~) x2 B( L5 X4 _3 n$p = new cls_image();# z% p6 K: J& S) [# G
return $p->gd_version();" p& `. s/ e9 {3 e1 @
* @. R! g: `" D2 A* E o F+ ^* [
& W7 R8 G1 P6 u( ^$ e1 E下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:7 s8 x. E1 ^/ F8 M
安装进程已中止
; Q+ @! H$ z: [4 _9 S创建配置文件............成功% b0 y. G: r9 Q8 o8 k; U4 n
创建数据库............成功4 S0 F; d/ J0 P: s% `* b4 X
安装数据............成功
/ s) W `7 G# p, y# |! F( J; e创建管理员帐号............成功4 R {3 r) Z) K- Z/ o0 l- [
处理其它............失败
* Z1 K- ?6 k( i, l( `
/ k+ w8 ^: ~; w/ Y/ U# dWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
$ |$ Z2 }3 p/ u' {无法创建目录,无法创建目录
7 T2 o* H: q9 n+ c9 a( c+ w5 z; ~解决方法如下:$ c( c7 Y' E4 S& T3 ?0 V1 l
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: 9 H P& n: j R6 O
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
0 T+ f- |8 t; J% Q' v不安装测试数据库一样可用,一样正常,不是问题.....
" z: f9 i9 V9 Y愿看到此文章的朋友能解决问题; _" p4 m$ _. u$ O/ g
" J* X: Y) y! L& \& F! ` f+ ?; ?
4 W+ o+ F* Z. ^1 }! m
ecshop如何解决includes\cls_template.php on line 418错误6 w9 D! s; n2 `: D
4 k1 L7 y, k9 n: k( I- ?之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:4 s6 x! j( L) | n( n
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
7 \8 s- v" u, a. t' q第418行:$tag_sel = array_shift(explode(' ', $tag));& ^; g( [: x6 w2 f# Q4 l2 ?1 `, ~: Z' O
0 M8 u1 r. Z" y( A
解决办法 1:
2 q4 k5 P& f' A; } ^# Q5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
1 M" ^. o( T( m$ P1 Y' _ D+ a, _. |8 H7 F0 y# f+ `
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
+ R8 l& v" e; ]' Z# G(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值* z: @* C" F; _% s+ w9 Y* `* H
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
: q$ ]# @) w( m' `+ g 7 D; a% q' @8 }: T5 w
如:
* W+ i' q% p& H/ b! L, k% Bfunction get_dyna_libs($theme, $tmp)
4 S6 u5 D: v5 w0 S l! {{- b: V% A6 G9 b2 e
$extsub = explode('.', $tmp);% I, J1 H# S+ z9 U7 q* j
$ext = end($extsub);
- B) p: \9 G, j8 E2 o! a$tmp = basename($tmp,".$ext");
! Z: |% i# A* S- J6 G$sql = 'SELECT region, library, sort_order, id, number, type' .
. _" c. A9 z( ?' FROM ' . $GLOBALS['ecs']->table('template') .
; n' S; E0 W3 \4 S" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
! u8 K0 D9 _9 s* |' ORDER BY region, library, sort_order';
5 K* E. R; I, I9 u0 c, U0 O7 E$res = $GLOBALS['db']->getAll($sql);/ n" g# ^ `8 R! S* p. t& o" _- m
$dyna_libs = array(); F4 y0 I7 V3 H$ e( x5 j
foreach ($res AS $row). {5 @2 Y( v3 o& k; d# m# u
{
1 ?5 \- L9 I" W& M$dyna_libs[$row['region']][$row['library']][] = array(
2 `: ]$ u8 l3 v) O3 l9 E: p'id' => $row['id'],6 f/ y! \+ y( R( K" J
'number' => $row['number'],9 h# P' T H. B+ U& P S
'type' => $row['type']9 b+ K& H' B: `# _/ O+ n
);
8 {. l6 M: z- X5 ]+ F}
9 w0 I3 n. d: T3 f* K5 |- Hreturn $dyna_libs;
; B+ V. n4 d/ i/ B* A}
/ w$ j3 h& X, R( T4 h
: z0 D0 w+ p/ | K7 |将$ext = end(explode('.', $tmp));
8 P4 j9 @) t3 Y+ |; G改为% a6 ?# L2 n* p: L- O2 u9 e: z
$extsub = explode('.', $tmp);* U$ M! T3 B1 _4 c a G
$ext = end($extsub);
( W$ f1 X6 t& ]7 m+ ?8 r9 E
2 t1 R# \! Y1 b! W1 @解决办法 2(屏蔽错误) :
1 Z: z* D6 N- \( N# _ - S0 E$ k- N; c A% g) i
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
/ {, g% N# p2 J% p5 gphp.ini中有如下设置:
* u, q0 `0 W& f+ C% [. N0 Gerror_reporting = E_ALL | E_STRICT
- l* a- G# A' E) X
1 r* }& h& b) b* D0 J( c$ g: l这是说,显示那些不符合编码规范的警告(coding standards warnings)。
% U. R9 J _$ |0 i5 }* RJoomla其实是建议取消error的输出,如果出于调试需要,应改为
3 \% S/ m9 _. C6 M8 ~! W5 c4 cerror_reporting = E_ALL & ~E_NOTICE
- e- A0 t* H% b 4 X6 Q" l( J( J$ k
问题得到解决。
- `0 c5 [9 x* B1 F/ o2 K) H. B" L8 }! N6 U8 C8 c1 N
5 F1 t7 U( s2 j3 W
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
6 @% B0 i A- t. K" l% _php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
}# Y+ q3 J' u, i5 U: a改为 :' ~) j d ^9 Z" O# E! A; E
$extsub=explode('.', $tmp);$tmp=end($extsub);
, U5 k x! W- T G5 [% p) H' l/ b N/ [/ H Z5 ^6 Y+ [9 ?
|
|