|
|
7 ?6 N" ?, G4 J% H- u3 N 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 错误! h2 s) x& Z) Z! V0 ~* b
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:. K2 D8 y( V+ p- D4 w! p
1)将function gd_version()改成static function gd_version()即可。1 D4 E, r/ Q% m1 F# t
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:1 H2 L" l1 z% E. e$ P2 K1 |1 v$ n
$p = new cls_image();; P9 \, n# D) K& W* C0 q9 ~
return $p->gd_version();
T+ E, N8 A% s, ~, M
+ a3 e/ y" m4 H- C" {7 g. j1 J7 i- U0 Z% l$ s0 ]
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
5 G' @+ ~8 |) \( L; m( I安装进程已中止; U2 ^0 P p( {
创建配置文件............成功
/ Q% n5 m1 N1 L创建数据库............成功% P) o0 E( K% w9 q. |
安装数据............成功/ G: u P6 A! x- w' _ ~3 W
创建管理员帐号............成功
: h) b3 L$ \: `+ Z8 L- d- J处理其它............失败
. e) I8 _) J! B7 r4 N" g) y! Q, @ b6 ~: ]6 A! p
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
- D2 Z2 [& m: ?0 J6 S8 ~4 _! f无法创建目录,无法创建目录
8 E- @3 g/ X0 n6 x4 m: x解决方法如下:7 U- P9 h8 t, y* W; X! q$ a2 f3 }
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
6 W+ V9 l+ b1 o/ u7 D9 |+ K a(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
0 q& M7 s% G9 l; B/ a( x不安装测试数据库一样可用,一样正常,不是问题.....2 Q* o% a0 h* |4 `; y
愿看到此文章的朋友能解决问题;
% T8 W" S0 D$ m- Z0 V4 Z! N; X, D
1 [) H; `+ i, l' g6 Q6 L
# L/ M4 J' v* H& K9 I9 x0 F0 _ecshop如何解决includes\cls_template.php on line 418错误
( J! \8 j/ D- K* H8 ^! k4 `# ^0 v
$ p* M7 O1 i+ T, Z- F之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
, `1 T9 n7 J, ?' }0 _! v NStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418# k. a' B; c O: d6 w3 Z% [; m
第418行:$tag_sel = array_shift(explode(' ', $tag));. N; |! ?" F) D( R, l. z, _; c
( o+ Q: }5 a4 s5 i
解决办法 1:
( J( G5 @/ V; m5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
7 {0 R9 ?* ]& d; R3 Z
# g6 f% ^ `& L$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
0 ~! p. M7 a7 M6 Q2 U5 ~(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
9 ~# D/ x, r& `$ J同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决; J. Y: g5 J3 ^; s9 `
2 S/ v. o/ f: o* {6 C; s
如:
2 v8 T' R k" G' gfunction get_dyna_libs($theme, $tmp)( |- I' z2 m& L% B" r$ I
{* X0 j5 p, @. {" G! U( q; ~: q# G T
$extsub = explode('.', $tmp);; d# u' A4 h; _ O: R4 i% C" k
$ext = end($extsub);
, d; g2 _3 V0 _& C2 t X" k0 R9 H. K$tmp = basename($tmp,".$ext");
- z9 ^5 w4 k/ N* \, R2 N" H/ c$sql = 'SELECT region, library, sort_order, id, number, type' ./ O- v2 W, G, x: \! A
' FROM ' . $GLOBALS['ecs']->table('template') .) D0 ]: f, B# n, s3 l
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
; ~4 n( U2 X; n, m3 {% f1 h' ORDER BY region, library, sort_order';
, o% B2 u. U2 X! K& `$res = $GLOBALS['db']->getAll($sql);1 @! [) c2 N% h+ @% a! I! {
$dyna_libs = array();
$ }2 _. c" l! c- T( {2 y, Sforeach ($res AS $row)9 K9 F& ?6 x! [+ }4 z! M- A. V N
{
' E R" h7 U; E ?5 ^$dyna_libs[$row['region']][$row['library']][] = array(" X+ i* }+ ]7 w* T `" k
'id' => $row['id'],
+ h6 R7 p8 f! ]4 r; G'number' => $row['number'],
% p( s! b3 l% K* h$ \% G'type' => $row['type']7 n7 s s5 k/ j D z6 p5 o
);
9 n7 P, H# S9 g}
! J% I# Z# |$ A# R/ f& ? ~return $dyna_libs;
/ E! k3 q! I7 q7 K" U/ ]9 d}/ G) c% r8 L3 O" x3 @3 o6 I1 F
( Z. z6 k/ l" l G m将$ext = end(explode('.', $tmp));
; M2 @/ Y* y" F# U2 C& h- b9 P5 y- f) N改为& ~) c3 ` |" K, p {
$extsub = explode('.', $tmp);8 a- ]& I" n2 B% K) |7 ^- j# V
$ext = end($extsub);
3 s3 J) k3 S) ]; I) j 4 [& `) `- s D" x- t- \' H
解决办法 2(屏蔽错误) :8 @7 @7 F, z u5 A. w# c0 T
0 _% a8 ]. D# Y7 t" |$ ]: |或则如果这样配置的话: error_reporting = E_ALL | E_STRICT: L8 D9 ?/ {' s
php.ini中有如下设置:2 p8 H7 m% ~8 q0 \: S' }
error_reporting = E_ALL | E_STRICT
2 K8 o- a4 _ w% r& d5 v ' J k b ^, P6 u1 b% }. R& T
这是说,显示那些不符合编码规范的警告(coding standards warnings)。" M' s8 U; u4 _
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
& G! p$ h& \7 V6 ^0 C, X) oerror_reporting = E_ALL & ~E_NOTICE- O/ q D0 @) G- t- w
" @) k9 |5 K/ e, K问题得到解决。
- N+ r3 u% q* d" A' `2 v. T6 N* C6 E5 I1 q# W& q8 o3 ~
$ @/ h3 L9 a$ T
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
" M/ v2 c3 f4 L5 g) yphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
Y" ?. {* I% a7 U改为 :
8 @7 S- B1 t G1 ]; U$extsub=explode('.', $tmp);$tmp=end($extsub);9 K- I' @ i, L! k4 g7 m9 O. J. J; C. O
0 I9 O O2 I/ i7 s2 r
|
|