|
|
: p) O2 e/ P6 z( |9 D6 C
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 错误
: ]9 y0 Q- a9 p0 o* |( k3 P4 E 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:/ U1 }% H9 g: ?' C3 U" F# Y4 \ j
1)将function gd_version()改成static function gd_version()即可。
' ]# W% l( `0 k) _* i# @ 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
* U( `/ l- T8 l- f8 F; `$p = new cls_image();5 i% M6 f6 E' W4 K' {
return $p->gd_version();0 y# m4 @) E- Y' s
( a i, n c! Q# M/ T4 @; Y' G9 N( {$ {; ]$ A
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:- T O& r/ m/ E' B ]' s/ b6 P
安装进程已中止! M8 S3 ~; @8 B' ]* U4 K
创建配置文件............成功- u7 _0 D9 h$ L* k" a8 z$ d
创建数据库............成功4 ~. o/ L5 \6 I4 W' P1 {3 _2 T/ h3 g# o( {
安装数据............成功: b; A+ y4 @% p) r+ N: o& I
创建管理员帐号............成功( O* R( x( O6 z- i1 B' o
处理其它............失败- c! n% q% W! ]5 O
* [" i7 y1 N1 x" T8 a# Q0 _
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
$ J- t3 C8 c3 e& m1 Q无法创建目录,无法创建目录
$ E" ~6 a7 @6 K) D7 O( q; K+ L2 w解决方法如下:' B5 F- R4 p/ [ o7 M* @
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
% s- R& ~5 q( `! |(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
1 j3 ~# W3 A9 ?% u不安装测试数据库一样可用,一样正常,不是问题.....
% {, P, F4 ?# k# z4 E0 s3 j; G愿看到此文章的朋友能解决问题;
4 j' q$ i* } c$ r- T8 @2 q
* A6 G. i4 L* f; K. H: ]. ?# g R: A1 s+ w
ecshop如何解决includes\cls_template.php on line 418错误 T* t) w) Y- S/ G n. L$ e
; T7 E9 B. B& a2 s之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:. ?% `9 Y. e4 v4 x6 z3 |/ J I+ p
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418+ |& F) o9 l( H M) _1 @
第418行:$tag_sel = array_shift(explode(' ', $tag));( ?3 V: t( G; k& [$ ~
: A4 G/ F! ]6 B" L( T
解决办法 1:
- H. c, L& T$ \9 K4 y5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
# ^+ ~4 H+ o0 q8 w* t4 v3 J. q% _ % Z2 A4 s7 t0 @7 l( e/ {
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
# {6 A9 t' j6 `3 _- d(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
* b) Y r# H: t! z同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决& d" R X$ ~5 n# E" l+ j& A, H. N3 N
/ L3 L1 J6 f. ^( N& m- S如:: X) Q h. h( g+ L( w4 I
function get_dyna_libs($theme, $tmp)
4 x, K* Z2 Q( |" y{
' ^; F( Y' y; X& E6 j$extsub = explode('.', $tmp);
$ V# f( E% B, s' Y. R: i! M: I$ext = end($extsub); K8 B! a; X( ]: s+ W. ?
$tmp = basename($tmp,".$ext");
" M) u3 @3 m t. o4 k! U" r$sql = 'SELECT region, library, sort_order, id, number, type' .
0 V$ Q1 `# i2 V; J# p: ]- X* L' FROM ' . $GLOBALS['ecs']->table('template') .
7 U0 Z& J! q& X" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
6 b% E% o, Z9 B- Y: h& p4 C' ORDER BY region, library, sort_order';4 i- o3 ?; ~' _9 ^
$res = $GLOBALS['db']->getAll($sql);
' L$ U# _! D6 K' H+ O- A# H$dyna_libs = array();* X4 ?; \8 S/ y% I' ?
foreach ($res AS $row)" [6 b2 I8 P2 {0 |. E
{
7 z, Z& v) U# [! T$ B$dyna_libs[$row['region']][$row['library']][] = array(% N) t4 I2 U% A/ J) j; D0 n
'id' => $row['id'],
" Y6 M- T& K7 J" t'number' => $row['number'],2 e" `/ I4 l: O" S; f
'type' => $row['type']0 P, t+ w# X1 c1 H! m
);8 n9 I5 R0 D+ W% j1 y8 E% {
}! R6 c9 h; x: b6 u# A* [% j
return $dyna_libs;
7 V& [ v/ H o/ o}( M; R; q# w: {( [2 G2 r
4 P3 a k8 X! [5 R+ ?- O将$ext = end(explode('.', $tmp));' }% ?. Q# u% u; z7 R. C- `
改为, t5 {, c1 ^' h9 M- H$ D5 J
$extsub = explode('.', $tmp);) d. Z F! u. v |5 H: M Z9 q
$ext = end($extsub);$ p+ O; c5 j M7 F: z
3 c M+ D# U0 W4 t( g
解决办法 2(屏蔽错误) :, J8 o2 ~& G" m3 G3 i
* e& z4 A3 u1 I: n% ?或则如果这样配置的话: error_reporting = E_ALL | E_STRICT8 v! C. O/ c4 C8 o
php.ini中有如下设置:
, a2 E3 z; }: ?( Werror_reporting = E_ALL | E_STRICT
; e( ^( K- c# c1 P$ R& u
9 ] @! U, `4 a7 e9 V这是说,显示那些不符合编码规范的警告(coding standards warnings)。
/ i) \6 S r% o) g" N' PJoomla其实是建议取消error的输出,如果出于调试需要,应改为
) D# g/ L( E; A6 ?7 `" g9 s; D7 @error_reporting = E_ALL & ~E_NOTICE- I ^1 D& g& [* @) n& X8 h
3 T6 ^/ G; Z: y' Q问题得到解决。1 N* A0 O" A$ @" \* e" R6 [
' z3 Q3 i" A" d s5 a! |& V! w
/ s9 ?! ]% s& Z6 d! [8 d/ Q2 n
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
. E7 e& H: d( c% e# M7 ?8 q2 [0 ?php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));! C( x6 }" v' k0 } h
改为 :
7 ]. B# u7 C: e% i, @) t% h' F$extsub=explode('.', $tmp);$tmp=end($extsub);; ?* l, j' m0 v: a K0 N& z) T) Y
3 x' R9 H) {# E0 ]8 G, s9 [
|
|