|
|
' \8 m& P0 {; Q2 J" }3 G( f8 h
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 错误5 H, x- o1 ~+ a) L/ g i
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
7 [7 S* n. c# ]/ @ F Y; [% @ 1)将function gd_version()改成static function gd_version()即可。
8 N/ c6 ^- d. w6 O 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:$ X! H/ [& f5 I: ~8 W* `5 }8 J5 k
$p = new cls_image();
( a% r% }4 J' ~& \9 freturn $p->gd_version();7 u$ V, Q; s0 f- x
& d$ O3 h, W L3 w" z5 n* ]6 x9 ]
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
5 o- `' _& A8 k' ~3 ]安装进程已中止+ {! o7 K) O* K3 Q$ T
创建配置文件............成功
" H0 s' t K4 e7 {$ s创建数据库............成功
2 Q9 x6 a N1 b. u u$ P安装数据............成功9 \- ?/ Z" ]' ?4 d6 a+ j2 X
创建管理员帐号............成功
5 U9 x% Q+ O0 r处理其它............失败
' @8 e6 j) {# x4 ^* l2 O( J6 | k/ y
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5283 d+ V6 A; T$ ] T+ u% [
无法创建目录,无法创建目录, f3 }/ i5 u q$ d
解决方法如下:
2 q0 _8 h6 m) V点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
, _! c9 L" p N) L; h! B' R U& b. L(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。: F9 v! s) Z' w# i t/ I
不安装测试数据库一样可用,一样正常,不是问题.....
% j" Q3 K4 ?7 S) K* P愿看到此文章的朋友能解决问题; % ~7 k3 n$ T! A( v
) J# b: G" s4 |+ _/ Y- H9 B0 I5 l9 e& ]8 }6 z
ecshop如何解决includes\cls_template.php on line 418错误0 J# g3 M% I& @+ }1 y j
& o G4 p5 M# r6 Y9 r
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
" i+ C6 h9 g# ]* p: SStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
+ L1 ~: g2 @3 @$ f8 [第418行:$tag_sel = array_shift(explode(' ', $tag));3 y5 c( [+ `1 M. [$ {( N
% X( Q: f9 u4 \. E解决办法 1:
7 O4 F' m, ~* o G6 B5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
5 l/ E$ s! _: s1 b" e) | 0 W# A, ^( T7 y; M: P# b
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
3 Y/ s- h5 P v0 ~8 \2 r$ ~9 F+ q(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
; }- k1 G9 M6 M2 r) \1 J同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决. ~% n* C' d, s/ r/ X
+ a1 `% G2 I3 d' |$ H) ^
如:
?! Y. I5 O+ ?! w! r8 dfunction get_dyna_libs($theme, $tmp)0 v, X% { d8 i( p; X5 r
{7 i+ A2 s* i* R! J
$extsub = explode('.', $tmp);
U+ J# g6 h$ c G: g/ c9 }$ext = end($extsub);# _: z. j, [/ p3 V: |( {( l2 S: r
$tmp = basename($tmp,".$ext");
# S6 a3 R0 }- B/ m$sql = 'SELECT region, library, sort_order, id, number, type' .
( j& t J( U4 d' FROM ' . $GLOBALS['ecs']->table('template') .
: M+ V4 N9 L' D- R( [; _# b4 j1 P n2 y" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".. p. P6 | _2 t/ ]
' ORDER BY region, library, sort_order';
4 {, [0 J% V1 m$res = $GLOBALS['db']->getAll($sql);: s1 p- r, ]. U* s( q* [0 B
$dyna_libs = array();
" [) B# p, h3 ?; C6 tforeach ($res AS $row)
8 M7 y7 z3 V x. o{6 X' I' |) b6 Y0 l' b
$dyna_libs[$row['region']][$row['library']][] = array(
5 p5 B! Z6 R: e: k1 A+ p& O'id' => $row['id'],/ Z6 i5 S/ R) f& I4 j
'number' => $row['number'],. \- T+ Q T" {# X7 m) @
'type' => $row['type']: I) |% ^; U' {/ |) D, c
);. ~& k* Z) W: h W
}
- n+ t4 \9 ?6 c2 e9 treturn $dyna_libs;
, y; _6 K4 j0 J* o}
$ G) _+ F7 C! ]- U
& Q) Z& u/ p- p) ]- J) M: N将$ext = end(explode('.', $tmp));5 ] g% \ m* ` ]2 u/ b4 F3 r/ }
改为0 B8 p$ o' x+ _8 Q' L
$extsub = explode('.', $tmp);
9 s1 G) y, W5 E" e. Q& U$ext = end($extsub);
; s8 Q. l) q0 u2 ]! Q0 y+ f
7 u. ~) g8 x! v. [解决办法 2(屏蔽错误) :
7 K. r+ w* E( U. D3 \; ] B/ R @3 @, @. l& e2 }. _2 N
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT' ` r8 J' U- r
php.ini中有如下设置:
; c/ V3 R4 J% N7 @; ferror_reporting = E_ALL | E_STRICT# q, X4 h" p: d. \2 R( P* m
8 G& p# c' U% Z* u, L* d这是说,显示那些不符合编码规范的警告(coding standards warnings)。
! T! p( A7 V% j) \& HJoomla其实是建议取消error的输出,如果出于调试需要,应改为
; `) H0 W& T2 F' y/ Z( \ Merror_reporting = E_ALL & ~E_NOTICE
, e- r0 B9 k9 [6 Q' Q4 D0 [% | ' S. |' R5 L/ I8 e4 X" q3 K
问题得到解决。' P& |6 U2 {( ~4 C2 r+ h
3 v3 I. ~7 i( B% e& ~3 q+ u+ `+ I% F# O
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line6 W) ^9 K2 w1 `4 K: H" v: R/ o+ H
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
4 ?3 U t. r. L( h B$ W1 Y. J5 H改为 :4 d2 k9 O& x& [0 P
$extsub=explode('.', $tmp);$tmp=end($extsub);. Z1 v7 R8 L/ X" a# p( v# `
6 I4 `& m" Z2 h# I) g4 c5 x
|
|