|
|
$ `& [7 c$ d2 u7 x% v
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 错误, T4 M: I9 Z. x, r
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:: {# q9 k. G' v# j u3 b( ]
1)将function gd_version()改成static function gd_version()即可。: t. r7 b0 x: D6 S: f0 n
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
, @" \8 |9 t X1 M% H; V' ]$p = new cls_image();
( z" {) A& d4 W8 A- V4 Mreturn $p->gd_version();3 ?' z w- h) o4 r7 o
/ k! Y" b* h/ @! |$ c0 ]( V! y" x! _
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
$ j% x3 n9 Z& s9 x, E, A安装进程已中止
3 U- u" m- ?) h* w0 F/ A/ B/ u创建配置文件............成功
) v/ V9 A7 }, u+ f n! Y+ i8 w' Z创建数据库............成功% g- }( d1 e) W0 T! _# ^: N
安装数据............成功7 f) i# D2 s. G4 K( X8 _
创建管理员帐号............成功
- ?" g, X# W/ C3 w* P7 G4 M( v; P+ D处理其它............失败
$ y3 d2 Q( M" D$ Q% f$ J5 S
6 h! g7 O E2 L7 ]Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
: ?' s% X7 l/ R( J, S x" H无法创建目录,无法创建目录
7 l. `: ]8 N- B( N: z- G5 s" ~解决方法如下:6 f Y! S# d: i
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
+ w" b& G* ]) g! h" e: _(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
# @0 R0 a* W: X C- \+ j3 @9 ~不安装测试数据库一样可用,一样正常,不是问题.....( N3 r: G; P, J: e
愿看到此文章的朋友能解决问题;
/ z5 i5 c5 W4 l6 U1 O) e
8 O$ z2 j3 d& K7 t3 e' Z" y# E( _# `# L' ~4 f$ B* z5 @- k
ecshop如何解决includes\cls_template.php on line 418错误3 p. S" O% E& M( K
: ]5 m {, O! l1 t) e- i8 E: j1 A1 ^
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
V2 X% J0 q2 z2 N t& H! e6 oStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418" d1 k% b& X+ Y
第418行:$tag_sel = array_shift(explode(' ', $tag));
- ^6 H7 D" ^& C
* }2 c8 X4 I# g, c2 y解决办法 1:- }3 R5 G5 U/ W1 W$ q$ x
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 4 i3 `8 T7 I; A# k9 W. w, R
$ B) j) E" \- T. K. v2 K$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
" f5 }9 T6 m# h. E; f9 M ?- |) l4 N(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
: Z6 m4 Q% B/ f: X6 m$ b同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
6 W, `; I$ g' H # q v+ W" r% `8 L
如:
' \5 b: ^. V1 b( }# D" @3 ifunction get_dyna_libs($theme, $tmp)+ E8 C7 u5 D0 Z: f1 `5 Y
{; ?# \7 k5 i+ s" A$ T
$extsub = explode('.', $tmp);
. h$ i3 }7 w, y" o# t$ext = end($extsub);
5 U( G$ k3 P* V' z5 r$tmp = basename($tmp,".$ext");
! p: B& ^$ H# a$sql = 'SELECT region, library, sort_order, id, number, type' .
* N& w y8 D. u' FROM ' . $GLOBALS['ecs']->table('template') .
/ {, Z& N3 ]9 c( ]# ]" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".5 \1 E' `; \4 b
' ORDER BY region, library, sort_order';
/ S& E5 C: n, z' E$res = $GLOBALS['db']->getAll($sql);4 n+ F- _( c w2 C
$dyna_libs = array();2 E6 N) ^ h/ ^( k& L
foreach ($res AS $row)
$ j, O( w7 K1 m, N{
) K1 A+ [1 l0 l' Y5 P( v" Y4 w: X$dyna_libs[$row['region']][$row['library']][] = array(
6 B# h+ t T- Y# S n, ]) U- H'id' => $row['id'],/ V. b8 p. O0 G" M6 e+ L9 r9 ]
'number' => $row['number'],7 x& I* K4 l1 D2 Z
'type' => $row['type']
' ?1 G0 v/ H+ _2 Z3 D);
! R1 g8 d2 ^6 y& t5 l}
) f: L# b" h- P! v e0 w# ^5 Areturn $dyna_libs;2 M2 y( O7 B0 v" e
}% z+ [- y z8 f6 E* a: [
/ c% U$ C" `1 @ U, w/ Q. X( I将$ext = end(explode('.', $tmp));8 V+ a8 }- E' q/ }
改为! d1 f6 Z8 G) S4 V# i: Z( ]) c
$extsub = explode('.', $tmp);% L& _) o) C# Q
$ext = end($extsub);/ W9 H4 i+ R K5 y3 b/ O6 m
$ S/ p' q+ z! v6 o& ]
解决办法 2(屏蔽错误) :. @+ B2 c" L" n" t i ~
$ K( {- v9 f* [" e8 v
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT7 D- X( V0 N5 I' C9 \
php.ini中有如下设置:
. `6 `5 U2 G. J+ _error_reporting = E_ALL | E_STRICT
* ^( A) `- c( b2 i% n 4 O1 l& M% T W! J' F) b* Q3 }# m$ v
这是说,显示那些不符合编码规范的警告(coding standards warnings)。' l' Y9 Z/ ]! p% q# Y
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
( H8 G0 Q. B- ]/ R8 D6 _error_reporting = E_ALL & ~E_NOTICE3 ]' o# q- o3 k( |- l# e
5 |, Z$ _3 C/ O3 ~2 L0 ^
问题得到解决。
0 g2 C& h! X( J4 k9 \9 E1 @2 w z( M3 R! y* Q# l) h
5 y6 T* g m! |- S+ HEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
# _' X' Y$ i) W4 [& Qphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));& g$ _0 P& ^5 |; L% \, M
改为 :
7 u G( {3 Q+ k; U# B2 J3 \* c$extsub=explode('.', $tmp);$tmp=end($extsub); W! B. q$ O6 q8 u
% C- }; ]/ [% ~1 G1 o- e6 ]+ J
|
|