|
|
! U3 ~: J2 R- @; v% v7 b# W
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 错误 {! ^; j0 _% q% Y* b. k9 j
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:% l9 U! q" ^* O
1)将function gd_version()改成static function gd_version()即可。
+ Z* v( d! Q8 n4 c I% h 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
$ Y8 j$ L# w7 e8 Q9 N$p = new cls_image();3 t5 v6 e8 N) {
return $p->gd_version();
6 H, d! [: D+ e& p( H, R
# h7 \; f4 Y3 _ m
" R8 |- w2 d4 B下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
0 R7 k9 W5 \) Z" q安装进程已中止
+ ~" s7 r& n: E! O1 P, B创建配置文件............成功
8 r ~- f# D# C7 x; R- Y创建数据库............成功3 C& C q5 H6 K; W3 H# x
安装数据............成功
5 \/ j3 X8 C+ C创建管理员帐号............成功
& K; C: P- r5 n; }4 m0 S处理其它............失败
/ h V5 R9 Z# H4 A
& `* w8 M, h" }. r* ~' i4 wWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
& k# L( r( j9 v5 C无法创建目录,无法创建目录
9 g% C! B: ], L3 p9 ]& T解决方法如下:- M' N( E/ ^5 v* }9 a
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
" N* c$ K$ C& O(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。8 V$ i( g3 W8 L# y
不安装测试数据库一样可用,一样正常,不是问题.....
& \. a% t" i2 j1 L愿看到此文章的朋友能解决问题;
5 Q5 P1 F+ J& q3 d* ~
0 g1 @0 A1 {, ^9 B
/ ]$ I/ m7 F) A$ {* M/ T- b' wecshop如何解决includes\cls_template.php on line 418错误 P& i% r* ^% V0 y' c0 y
' O' e6 p3 s# B9 l W+ s
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
1 u% m( J" P# C! _. `7 _Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418) \7 o/ \; I! T1 p5 S& s* O
第418行:$tag_sel = array_shift(explode(' ', $tag));" O+ a0 _ f ?8 ]
! @+ {2 H1 M# W6 ^ `7 g" T- J' M解决办法 1:6 a3 v8 \* n, V
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
o3 x4 }: Z5 s, v" n3 v
1 j/ W9 T7 m$ a5 N0 ?$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);$ G9 @, o! y' p( @, b
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值2 m% Y6 ^: X2 Z1 x+ y R# b
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
/ w* B5 B. m, s$ v/ v r' l
8 F6 j n2 S4 u9 ^4 E: U# p! ^0 V- X如:
2 ~( A3 B4 a4 C+ I8 i- B$ s9 Ifunction get_dyna_libs($theme, $tmp) m$ o4 x. [6 @' @ K
{7 R) a3 P1 A" N! E; C# u1 R9 K
$extsub = explode('.', $tmp);
0 T: d/ ~% Q6 M' {$ext = end($extsub);
; K0 P/ w: d0 s* ^9 d V! n$tmp = basename($tmp,".$ext");
* _" i, I; Z1 z! i0 y$sql = 'SELECT region, library, sort_order, id, number, type' .
9 h' D) W* N: ?1 A0 `( M8 q" S' FROM ' . $GLOBALS['ecs']->table('template') .
' I9 g' l1 o3 f; g P" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
4 R+ t2 o5 z2 b0 y' ORDER BY region, library, sort_order';; G* t# s" D2 |" u! _* z
$res = $GLOBALS['db']->getAll($sql);) m7 d# |5 m2 q4 {+ l" u) {
$dyna_libs = array();) B! i% L) ^) L6 ?: l! r
foreach ($res AS $row)
& u6 m9 Y/ w2 E! L- O) D{
8 Q- I5 ^2 \. F$ D8 N. \$dyna_libs[$row['region']][$row['library']][] = array(0 Q8 n( E. }& c, C" }
'id' => $row['id'],$ e/ `+ r( d5 w" i' G5 Q
'number' => $row['number'],
; V# v9 ^8 ^. h: X% r. `; v( T'type' => $row['type']
& L( c5 x1 X1 b4 ?6 v9 a+ m$ I);
! N9 a' X9 d; ]% y. U6 m# a) U* F}
$ x+ r u1 S9 |+ |return $dyna_libs;6 h( ?9 j0 X+ Z
}; a% q# {6 V: t% K4 |8 ?
I& v+ f, v7 E; l( p) g将$ext = end(explode('.', $tmp));& _' x5 W8 w! J8 f2 y" I0 R- L9 A
改为
* g3 e- d1 I9 p1 o- P/ s$extsub = explode('.', $tmp);9 `# M! n/ f* u% A
$ext = end($extsub);
" M/ E+ Q8 f6 A/ N) C5 F
- u. P$ C' \, {4 G解决办法 2(屏蔽错误) :1 V% k& X* J0 u& d9 w# f
! B, j/ F. q3 |6 A4 Q
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
' U. q0 y' G8 |2 t7 n& U- F7 ~2 Sphp.ini中有如下设置:2 I* a6 v$ E/ Q, _ }/ d4 R
error_reporting = E_ALL | E_STRICT
- a# ?+ k6 @, C4 s( T8 }9 D ' |* V6 E1 ?; I$ O ~
这是说,显示那些不符合编码规范的警告(coding standards warnings)。# d3 E+ {6 m5 ]
Joomla其实是建议取消error的输出,如果出于调试需要,应改为( J" n! o5 I3 Q/ B2 d
error_reporting = E_ALL & ~E_NOTICE
3 L' t6 D$ _1 R9 |$ F% k1 O# L6 D . m6 Z$ c' ^5 `
问题得到解决。8 i2 y9 Y: a0 m6 N% }
. Y# P: F7 @3 W/ j; }% n e( f. D
0 O# W- M5 c; V' Z
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line6 p2 L' w5 l6 L. M2 R
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));4 W2 n9 j8 q6 d9 \/ [
改为 :
& ]' C4 E0 C- S) g; F3 k) g; W$extsub=explode('.', $tmp);$tmp=end($extsub);* a3 f0 l1 G; b* V- Y
" l+ l; S) {# F8 r+ z |
|