|
|
9 u' s2 _+ l- A0 Q# Q
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 错误
; C2 i. J; j# e+ U& k 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
5 P/ L: ^9 r3 e- N/ r8 R 1)将function gd_version()改成static function gd_version()即可。9 O# C" t9 d6 P9 P6 c; M( D4 \. z
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:- \% ~, W! D# \6 O9 z
$p = new cls_image();1 |4 J/ N6 g5 s
return $p->gd_version();6 ]6 U0 {7 P# r" f/ R+ H3 I' S2 g! e
% ^* S* E7 l) C/ v; N
! ?( a) h# U' a- H* Y. i
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
1 v( h4 w8 m- Z7 w! T9 F: ^0 ~1 @安装进程已中止6 Y) A( q* Z# }! y* N
创建配置文件............成功+ L9 O8 L) l/ T8 ^
创建数据库............成功' t1 |2 {4 [3 \
安装数据............成功! Z1 ?, Z D9 m) t: I
创建管理员帐号............成功( ^( Q9 C5 n9 z
处理其它............失败
& v2 I' x- {" \9 ~
- P+ S8 s/ A0 N9 B0 F$ kWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
3 n2 V2 s" F% ?, h0 r无法创建目录,无法创建目录
2 `6 u ]+ j# v% L1 G解决方法如下:/ ^$ H7 \) l7 d0 }1 C4 d5 n
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
/ N" E' s, I- d) ?(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。2 x/ `* M+ v% f8 i" P
不安装测试数据库一样可用,一样正常,不是问题.....6 V; O" D# E7 v& r1 J! \
愿看到此文章的朋友能解决问题;
" i& a! V( A. X5 l7 I% n
9 f# t$ l1 G# Y! U5 a ^9 w, F5 f: c+ r$ J( I }
ecshop如何解决includes\cls_template.php on line 418错误
- Y( ~' R z9 V& e& P! n4 e" H# I+ J7 P1 J. Z
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:' ^( j& Z1 D+ Y' ?( t
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
, m2 O3 B5 g& N' T第418行:$tag_sel = array_shift(explode(' ', $tag));& C0 W) `1 e; W0 ~
$ B+ K0 D) a" B w- {, Q6 X1 P解决办法 1:
_7 Q, H7 s' J4 p( v& X6 o8 F, m5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: ) O! |& [: I2 C4 T( \) {" `- x- |# }
. y& d7 G; _ B `' }: i
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
, g9 g) }9 k. E) |' s(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
" i2 c. Z) [1 A: f- K同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决/ _- J9 I$ J8 n/ s S- S
) E# e0 c! D& ]) J* I如:2 e2 ]: e. x. Z0 I; S" q( d
function get_dyna_libs($theme, $tmp)+ f% i2 @; G+ Y. o
{, }. U7 F# T' D) ]4 P& e7 T2 }
$extsub = explode('.', $tmp);" x' C' x5 \2 T) \; I4 K6 K- V6 d
$ext = end($extsub);( J! p% d! U& h* k% s# U* \
$tmp = basename($tmp,".$ext");
' J0 \7 j1 `1 d' z( V k$sql = 'SELECT region, library, sort_order, id, number, type' .
6 e/ D4 `2 _9 O4 S/ ]' FROM ' . $GLOBALS['ecs']->table('template') .
; P; E5 P* y$ v y/ S1 ]" K6 t" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".9 j0 A7 }' l3 I- S: k
' ORDER BY region, library, sort_order';2 c) k5 i" \8 q& \: s3 z
$res = $GLOBALS['db']->getAll($sql);
A0 R! h( r/ \ {- r$dyna_libs = array();
1 t/ ]% P$ q7 i' {foreach ($res AS $row)
9 ^5 R/ a, @7 h{0 M d% i4 s& Z' D" V4 I; L5 k
$dyna_libs[$row['region']][$row['library']][] = array(
) q. [9 `4 j0 G4 f'id' => $row['id'],( m: h; e5 }' Q% J0 l% d) G. R
'number' => $row['number'],4 T9 S0 ]% o C" B! v4 b; B) f
'type' => $row['type']
@# O1 v: I7 L);
" k2 D( c i3 p}. R. t5 f4 M9 h( g; h' L e/ S
return $dyna_libs;
: E: A2 `+ }2 ?( ~% A+ [}- V. s7 e) j3 I: o4 q) d
* M: H( @$ p! B4 s
将$ext = end(explode('.', $tmp));/ ^& s# R1 t. M8 c# f7 F {# E
改为
9 P7 \4 \1 \* F) N" z. w$extsub = explode('.', $tmp);
! F0 ~9 k; w) g9 }$ext = end($extsub);7 b8 j% Q' C7 Z8 f$ J' {7 m
0 j7 @2 F7 c2 O' x+ _8 s" ]
解决办法 2(屏蔽错误) :
6 D+ `4 D$ E9 H. l$ f q6 }6 _ ' A! C9 ]5 r- K8 h$ q0 {
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
3 \: A$ v o! ?+ f( E7 jphp.ini中有如下设置:7 i6 b( ^4 y" E4 W- N; n* l" x% _
error_reporting = E_ALL | E_STRICT
; V7 M' g) h) i, w% X9 m/ ]: O
" T. Z# G/ k) d7 F! x0 ~这是说,显示那些不符合编码规范的警告(coding standards warnings)。
* k$ B# B5 q9 z- V0 o) @Joomla其实是建议取消error的输出,如果出于调试需要,应改为
# A; }5 }6 l6 N% r6 D0 Verror_reporting = E_ALL & ~E_NOTICE
1 ?+ l6 k4 K) a ( W5 z/ M; v I/ h; L
问题得到解决。
9 l& Z' P6 U- n. F' Q! ?+ h2 F2 F/ C* d3 v) ~ T3 K
- r! @- }# V) ~+ Z$ _" F
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
4 {8 d. I$ S5 e8 w+ F) G7 n! h9 iphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
) G- z2 T3 }. }* t改为 :8 S1 r( ?' p) I/ a# L
$extsub=explode('.', $tmp);$tmp=end($extsub);" s% F2 d, ^( \, H! ~- [3 X/ @
9 a& B8 }. m% L/ Y3 X |
|