|
2 b( U/ {- R5 h3 y
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 错误
( ~# O0 P' L3 Q7 t3 p$ O! P K 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:2 \. Y, }& H7 R4 j
1)将function gd_version()改成static function gd_version()即可。, [$ u. ]! Z K' t) U& m
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
: g( _, Z9 O+ |) J' r$ N$p = new cls_image();
* `3 D; g5 i4 }! Dreturn $p->gd_version();
J1 V5 e" ?: i* p7 q6 V5 m2 i1 v- A
" _2 P4 y/ k8 h( E/ v下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:/ G7 F4 o' ]" S) A% ?
安装进程已中止
, Q$ m( ~5 D, p+ F# M5 _! c, `3 G& l创建配置文件............成功8 ]6 T( X% h ? C I O
创建数据库............成功4 O! q" N4 }2 P& k$ N2 ?, I* H
安装数据............成功
3 {8 G3 l S& J/ N, v创建管理员帐号............成功. E& D9 t9 N# f, p0 j7 [
处理其它............失败# t, O! F4 L3 `
+ W: L0 y- n6 gWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
% C6 N0 j2 }& }& X! W' q$ ]# d无法创建目录,无法创建目录+ C' z4 Q6 n' F% B
解决方法如下:
* T9 L! f2 c8 W, C/ {点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
0 I1 v' v0 D/ X( }(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
) |6 R: N2 B3 Y不安装测试数据库一样可用,一样正常,不是问题.....
. c+ W6 d3 |" b, _! o愿看到此文章的朋友能解决问题;
) n1 x- V+ N! N# V. [ M2 E" ^" t9 c% A7 A. r- P" h/ `% g
+ E% F ]- |' Z) T2 |
ecshop如何解决includes\cls_template.php on line 418错误
# B% p, n" {5 V; i+ _8 t" P. U$ W$ i3 y6 {
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:6 T& h8 a. ~0 M, Q4 a7 j
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
, J6 i1 V# e0 J- m6 _第418行:$tag_sel = array_shift(explode(' ', $tag));0 I3 i1 Z9 q% U! D- v/ ]
, r5 L" K9 _1 C2 f6 m解决办法 1:! f7 @/ ]7 {9 |, S: ^9 E
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: . T* @2 {2 h$ d% C4 W: M' n5 u* W
' `& n& Z" G% @
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
* n c1 K5 g! r, y' T; M1 Y3 c5 E4 I(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值. q0 n/ W# f3 H
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决8 Q8 p3 p( l+ b& g4 Q; ~( h3 F
) i; G! e: r4 j% v5 {6 W# Z
如:0 K8 r1 ~& M- G; F
function get_dyna_libs($theme, $tmp)6 |1 U% I R: F6 V. y$ K
{; y% n6 @* j; J5 i: E# _
$extsub = explode('.', $tmp);: V/ \, k' k7 D( ^1 R4 P
$ext = end($extsub);
1 }8 s( Q- K4 e2 l$tmp = basename($tmp,".$ext");
% J+ Z( w) a" A ?0 ~$sql = 'SELECT region, library, sort_order, id, number, type' .
8 H; U$ h0 O+ V" k. O% F; }' FROM ' . $GLOBALS['ecs']->table('template') .
$ |/ c1 ?) F) L z9 J3 c/ `$ K" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
% J$ ?3 V& R- H4 \* D' G; k" Z/ T' ORDER BY region, library, sort_order';
. k+ r9 h2 r0 i0 Q% d2 N( |9 n+ ]$res = $GLOBALS['db']->getAll($sql);2 C5 l4 U, M0 m* L
$dyna_libs = array();
2 C; O7 L$ d, I0 N0 D2 c2 W+ cforeach ($res AS $row)
/ ?& b; m; G/ Z{- w$ L5 O4 F8 B" Q5 X9 n8 w) W' L$ ]
$dyna_libs[$row['region']][$row['library']][] = array(( O0 T6 ?/ t' L* m$ c/ x
'id' => $row['id'],
5 _/ i0 ^4 _, [5 b' }$ e i'number' => $row['number'],
9 `$ K S% j+ C" T; t'type' => $row['type']
; |' a- f; i; @5 ^ E3 ?# C);% U1 z) O# [2 Q* V3 I% Y, g1 m
}1 r' g8 Z u+ k: S
return $dyna_libs;- u# M3 S; h; ^% g) B
}* q" n% a4 h) m# y9 H, ]" x# H- p
! a8 l& Y; M3 R3 U+ a将$ext = end(explode('.', $tmp));
! _3 ]0 r# G1 S1 Q1 k; D& F2 D改为9 N/ Y+ T! I1 j p+ ~9 u( f
$extsub = explode('.', $tmp);4 H2 b: ?" R i( x
$ext = end($extsub);+ X8 w) m; P( Z% f. K `
6 S5 Q4 u2 O2 {( U解决办法 2(屏蔽错误) :! }7 y- G# n& I' e, v
2 W# v& G2 [5 E2 I4 z或则如果这样配置的话: error_reporting = E_ALL | E_STRICT# p8 E3 E, H: n. |6 G
php.ini中有如下设置:! |9 a2 e" X- S+ T7 x% g6 n, x
error_reporting = E_ALL | E_STRICT
[, w V2 x* H9 n0 W ; O+ l; p7 l- c0 e4 A
这是说,显示那些不符合编码规范的警告(coding standards warnings)。4 A' x+ x: W2 `+ s
Joomla其实是建议取消error的输出,如果出于调试需要,应改为, J, N( u# b3 Q( o
error_reporting = E_ALL & ~E_NOTICE
' q0 P4 u# X. r0 s ! }8 o3 K. O$ c6 e2 H
问题得到解决。. Q g+ o! w5 l" C0 m
5 d6 r& V, J4 I; C6 X% P
! i! }# f: w4 n7 F$ Q: x3 z
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line5 b: d$ p, i3 B, Z X
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));$ q8 w9 v4 o) Z9 C g
改为 : S1 d7 U! { J1 O; l8 X2 h- R
$extsub=explode('.', $tmp);$tmp=end($extsub);9 k# L& N- O% B' A% N' Y( R& h6 E9 N
5 L# i& S( Q# O+ p* k [- y |
|