|
|
" |/ p3 Y5 A$ F$ B* P 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 错误
* c% g" o2 A5 ? 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:6 J' h6 C T7 g% y
1)将function gd_version()改成static function gd_version()即可。8 U* K' x+ ?+ ^; r
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:/ Q8 C$ Y4 v: q6 A* E
$p = new cls_image();& u* J) T! X+ z4 ?. P' O; p
return $p->gd_version();
" O2 o. l8 u8 d+ l7 T
& N8 d. j6 v* ?# F; ^: J% \: ?1 w9 J+ g# A* i
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
8 Z i% C2 H8 C7 H% J安装进程已中止6 F; j& ]) ^4 s b
创建配置文件............成功
0 v& b; u) C9 S- b- h创建数据库............成功
5 [! V( d b; P# x2 C9 j安装数据............成功
9 D" g: o9 E! M `3 t( p创建管理员帐号............成功
' y6 r' ]5 @, h$ ~5 |. p# ?处理其它............失败$ c* m; s( \5 U4 |8 @: T% r
, Z9 w9 |/ e. A; F/ K
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
! H( b6 R" d( A, D% x无法创建目录,无法创建目录
. N6 X. X* e3 g0 G0 g解决方法如下:
2 i5 M9 w, B! |4 z1 P9 Y点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
7 H+ ]: C! \7 u0 P" K9 L; H(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
q/ F6 Y% O' H3 M( N* p不安装测试数据库一样可用,一样正常,不是问题.....! S( F: {& C! h5 a6 c6 E1 `" E
愿看到此文章的朋友能解决问题;
( u" r* l: b6 T% q" t, g! S5 L+ U/ @8 e! n+ t/ \
1 \' r' o1 e# t! F, z7 hecshop如何解决includes\cls_template.php on line 418错误" N# [" J9 S U' C. K0 W, N5 L4 e
: r2 M: ?8 q% ~: u$ u, Y4 k( T0 l7 O之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:8 r! n9 a8 r/ p# }( m& s: s
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
9 S$ r. @8 S3 a第418行:$tag_sel = array_shift(explode(' ', $tag));& \% b7 U4 ^0 R/ n
# k. b4 r5 f) M1 H解决办法 1:
/ H% f1 W8 L2 e5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
' I' O3 ]& a6 L6 e2 L
' w( g) ^9 q. ?( f; a. w$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
6 T3 K; l# ]+ \# l(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值7 K* c y. f9 f
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
. A) l& H! S7 T9 R6 B$ T, M7 @
( W" @8 s/ i0 q如:
, @3 X H( ~( j' Wfunction get_dyna_libs($theme, $tmp)
( q7 R1 y' t5 ?7 w1 r. d9 i* n) O{
4 X) N& e C+ S* |' Y$extsub = explode('.', $tmp);
% B2 s: P7 E; _" \6 i q$ext = end($extsub);
. {! W! ?, {4 ~8 `4 E* l$tmp = basename($tmp,".$ext");
" ^' y: P3 k, S9 o. g$sql = 'SELECT region, library, sort_order, id, number, type' .
& m5 r8 i' E' U- t' }; U! L2 I( A' FROM ' . $GLOBALS['ecs']->table('template') .$ o9 E3 s! L; l& J" |6 p
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''"." B6 t/ \0 U+ i. }. ~% b
' ORDER BY region, library, sort_order';4 R! s: T1 F' @0 w$ s" w; V- B. K
$res = $GLOBALS['db']->getAll($sql);
4 N1 M! \( ?! i4 S. A4 R- ~- I A$dyna_libs = array();1 @2 H( R3 x6 P0 _5 V6 h
foreach ($res AS $row)$ l; U9 O$ t, B: h7 m
{* o/ h0 s3 W$ Y' U, M* T
$dyna_libs[$row['region']][$row['library']][] = array(
/ t) D6 Q; I& e- M3 v& M'id' => $row['id'],. v: F7 |: @( }+ C; ^4 R$ y
'number' => $row['number'],/ w% C, a0 Q. |/ ^" R# D
'type' => $row['type']
) J( I9 w8 M* `);0 A4 d' P" |; R! _' c" I
}& C3 h0 ^& H, Q3 Y
return $dyna_libs;
# J$ q. a) {6 d6 _}
! } G+ `( Z( p' Q; N 2 I5 |* R3 v8 X8 P- l! D
将$ext = end(explode('.', $tmp));
5 {+ j& d( E) b) V改为
) L o0 y; Y% j# F$extsub = explode('.', $tmp);& n! _+ `& F/ C. L( V) k
$ext = end($extsub);0 p* T; r8 @1 d A! P' u
+ J6 F' o$ j* `解决办法 2(屏蔽错误) :
/ @* B# i% [& c: Q7 H8 t: L! x 7 ^3 [8 {) `. p. I8 ^
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
4 D) ^, }, D- v* _ @ Kphp.ini中有如下设置:
; M7 D; I0 M4 v+ D( Ferror_reporting = E_ALL | E_STRICT
! J b# `% {2 U) c( S1 ~1 @. | 1 M) H1 c, D: Z5 \. A
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
! G3 E9 s6 W/ d# l* D/ r, w6 W! ZJoomla其实是建议取消error的输出,如果出于调试需要,应改为& w- R' Q: M. {1 ?) X$ r- V
error_reporting = E_ALL & ~E_NOTICE
8 U0 }2 c. @$ z+ D, ~9 S
; D _) }3 Y! V( J5 L问题得到解决。! O2 `% V$ l# w6 Y+ |
0 X1 ~0 |# [: w7 }( I
6 c! f7 t1 U- ^6 nEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line# x7 v3 ?3 x+ J; p+ s2 n
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
' K- W6 f9 `' ~( c3 b改为 :
# `5 {3 R5 G' o8 v9 ?5 g) y# x$extsub=explode('.', $tmp);$tmp=end($extsub);! Z& ^. e! @, U _) g
! n1 y8 b+ b5 z/ X; n
|
|