|
|
- D3 \+ ]" i) P2 R1 F2 X6 t
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 错误& b& k/ n! Z, @& U- s
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
# K- C' C& d$ @) ~, S4 H 1)将function gd_version()改成static function gd_version()即可。- K" F. Q& N/ g6 x7 j& j" Q# F* G
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:& C; `/ }" @0 I3 _8 z/ g, d
$p = new cls_image();
# O: P1 o* Y" jreturn $p->gd_version();+ W5 P$ _) D) d
- }- ], z- I; b8 h |! H# L3 E/ x$ c$ B! H5 g3 ^4 j* o6 m
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
# E+ x, V+ G# u/ V4 m安装进程已中止
0 w4 H8 E v5 j1 [创建配置文件............成功4 l$ b! Z/ j0 b+ U& X# N
创建数据库............成功
0 N3 c' C$ S* n* E安装数据............成功
/ w- ^! x: q% v5 U) Y0 S6 y. e! m% T创建管理员帐号............成功
, K8 w$ r _7 y* e4 f8 n( a处理其它............失败
8 v3 X& R# e' D N1 D) s: ?5 O) A: w, ?4 M6 k: J- o
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528; x) G4 ?/ o1 ]- |
无法创建目录,无法创建目录
: p$ F8 o0 e8 ~0 |3 q, b6 O解决方法如下:- w" M$ h+ s5 X
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
4 h; B3 P2 h$ N( Q(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。/ K# S3 t% C8 n2 o, }
不安装测试数据库一样可用,一样正常,不是问题..... l( q1 B0 Q. i
愿看到此文章的朋友能解决问题; 6 A% |- o( m6 K5 F- H
, W( U6 f! a% Q& j4 W g' L) l1 j, n
ecshop如何解决includes\cls_template.php on line 418错误
8 D6 S* C) b. Z$ R: T
- C- K A6 S! D+ e% j$ N之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:, [ H8 b9 L% h# h; J
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418) K* e$ e: ]5 y% j# ]4 }) u
第418行:$tag_sel = array_shift(explode(' ', $tag));/ a# U* [; y7 _8 C0 u0 \6 h6 c4 }
+ N8 ?7 D' D: P- Z9 C
解决办法 1:
3 ]: `3 P: T5 S% {# S5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 3 A) a+ }% f$ f
- w' {5 w) f$ S$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
8 G B, D7 ]: S* G+ K6 q(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
) \ i$ Z4 c& Z/ i同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决* C* |* Q. h6 `- t" `1 B4 T
( M4 {$ D6 }9 u. A
如:( B. H2 e0 L. N" J, w& A6 o. c
function get_dyna_libs($theme, $tmp)
4 ~# ?1 l! U3 n8 N) j" c4 ]- c1 t{
' x" ~; d! T/ l, e0 T0 Y' }+ o$extsub = explode('.', $tmp);' L; x9 f8 e: ? J0 E0 S
$ext = end($extsub);% T$ ` |3 w& D. g: x
$tmp = basename($tmp,".$ext");& H2 Z/ k M8 U
$sql = 'SELECT region, library, sort_order, id, number, type' .
( [9 u- Q4 Z$ _' }1 Z6 W' FROM ' . $GLOBALS['ecs']->table('template') .3 ?5 C, P" w: x) r) ]
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".- `/ ?: @/ [3 a$ e- ^
' ORDER BY region, library, sort_order';! q( W9 s0 Q! g9 `+ M, k! I8 Y
$res = $GLOBALS['db']->getAll($sql);
3 t+ B" `4 q/ K$ j& O0 \$dyna_libs = array();$ N, ^. g0 X! G- V, Y$ U
foreach ($res AS $row)
( s4 d( ?$ }1 n6 F# o{
: R+ j2 c3 P, a* F5 l2 W# ~$dyna_libs[$row['region']][$row['library']][] = array(; N4 M8 c' Q1 p0 z! x+ S
'id' => $row['id'],
3 ^, E- |0 Q. w7 [8 Y; j$ L) n; @'number' => $row['number'],' q, d$ ^# o/ p4 l7 B8 C2 x
'type' => $row['type']4 K2 @4 C5 g' a1 p* Y2 v9 L7 F
);+ z3 K9 s' ?9 X3 x5 A; `
}) ?: f' k% a3 p9 j$ y# L
return $dyna_libs;
& ]/ L% A1 T; m0 {6 w0 _ `}
. I5 ]( Q7 h# n 8 V& K* l- Q8 z/ e' q! W2 @; G
将$ext = end(explode('.', $tmp));) Y, ]2 w' x4 Z- o) q1 G: Z9 @- e1 u
改为
. h7 c% b: W8 Q/ S$ u9 z( q( B$extsub = explode('.', $tmp);" _' c* B6 [9 i0 [+ o7 J
$ext = end($extsub);
9 i6 x! d+ b/ b
" j1 u6 D$ D3 q# x" y解决办法 2(屏蔽错误) :
7 K" w& K3 v0 l; ^# K/ h, d5 N+ } % @7 g: I. M% x3 J$ @. j
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
5 |! P+ z6 n7 P! p9 zphp.ini中有如下设置:& B v+ B4 e. ?
error_reporting = E_ALL | E_STRICT2 y. F r2 u+ h
6 o& g" J# ?' M; q+ E/ s: W6 M' ]
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
6 Z+ W, H# L) C# a6 `; O" }Joomla其实是建议取消error的输出,如果出于调试需要,应改为
~/ k7 G: l6 C2 s. N% Eerror_reporting = E_ALL & ~E_NOTICE
7 m6 v4 M% o4 b0 t9 b : L+ o( g7 \( A" y8 h
问题得到解决。
( _& q# A; z0 F% z) J
- I! d* @4 h7 r! ~' I
% M8 t0 c: @" wEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
+ p0 F4 ?. h: M. Yphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));. X% o; I0 g0 Z" V
改为 :
' [" ^+ y# L+ V1 o) K3 O5 `$extsub=explode('.', $tmp);$tmp=end($extsub);: ~* R' Q- b E/ A
+ x7 {5 i5 a/ p7 w' z |
|