|
|
1 O7 t' Q' `! e 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 错误7 P9 W; R p6 h. }7 p' |1 m* V
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
7 z5 R0 r" F* ]3 y. X& {8 c 1)将function gd_version()改成static function gd_version()即可。9 G m/ g2 P' ^& U
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:* W5 [4 U4 Q" y5 t9 ?3 B
$p = new cls_image();" N! |. I; Q* a J
return $p->gd_version();* l6 M3 u/ z. K/ v
- t& C' j- c) N4 v. x
* K0 r5 \. x5 w+ P( C/ X8 h# N
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
; P) O3 |- `( h. g* d安装进程已中止( P# a+ d& s: A
创建配置文件............成功
" m W! A# } [( P4 n* B创建数据库............成功
G; W6 g3 G1 u. ~安装数据............成功
( G- o2 r' ? N1 b% A创建管理员帐号............成功3 K$ [: A _. `, T G" w+ e9 P
处理其它............失败/ ^" p) n- H' A* I& ~# L
# N5 R! H/ w$ C: b4 M7 NWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
! z% E/ R2 X* ^8 k0 h, @- I$ _% G' |无法创建目录,无法创建目录
. T: E! A( v4 k5 \解决方法如下:; z/ f, k2 L* H3 i0 X* T4 w8 V
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: * m; M8 y/ o' ]7 `$ _/ q. }
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。. t0 Y; Q9 v- ?) `* m% N0 @4 Z
不安装测试数据库一样可用,一样正常,不是问题.....- Y& C+ |8 Q5 T- h2 `
愿看到此文章的朋友能解决问题;
8 e; i ^9 O+ I% S6 ?8 {* M; R1 T |+ ]
/ c7 `/ M0 U) U. ]# y4 tecshop如何解决includes\cls_template.php on line 418错误+ i; P T( W) C4 h- R4 `
2 ~. ^1 M! @: w) \& |- X
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:% C1 g, e h3 U
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
( k9 t/ _2 a4 F) n _1 V3 j第418行:$tag_sel = array_shift(explode(' ', $tag));
8 O; c% D+ y1 O8 K: V# i
/ _7 X& r7 V% y$ X2 \, V4 w解决办法 1:) D. T! Q: c4 O& [. m
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
$ ?9 D4 M! z$ M P* b$ [/ I 9 h, d) n4 t3 `5 C. F) d; \
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
8 v& m5 z0 x. T1 {( I9 i/ f(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
7 O4 B1 `% y& l8 o) x同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决8 A- W9 I0 J' e& ~ h
* w0 T! V, \3 G* H& T如:' W* l7 F( h- l/ w' _( E7 `
function get_dyna_libs($theme, $tmp)( q3 S' `! Z5 s0 v) k% D, V
{5 W; N" P1 r3 L
$extsub = explode('.', $tmp);/ s2 S% u0 H7 T% h6 x/ M
$ext = end($extsub);' N, d$ v6 {1 \( v, S$ @
$tmp = basename($tmp,".$ext");
2 V+ D. G# ? x$sql = 'SELECT region, library, sort_order, id, number, type' .
+ @, r$ g4 Y1 V) c' FROM ' . $GLOBALS['ecs']->table('template') .9 ?8 Z: C. j5 E% N7 D
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".& i7 u0 D9 a7 i9 @. g, G, _
' ORDER BY region, library, sort_order';
6 e0 X) |. j2 g9 N2 A$res = $GLOBALS['db']->getAll($sql);
9 F) S4 y/ } |: ^; {# f% L! I$dyna_libs = array();
# a% s6 _/ h# N- v% w% zforeach ($res AS $row)
4 } A# z- f4 t1 q3 n/ ^2 A$ ]{
3 P3 W' u9 H; K' b$dyna_libs[$row['region']][$row['library']][] = array(
; _, F1 |" C: q'id' => $row['id'],
h1 G6 ?# v% f9 [2 j, n( A! `'number' => $row['number'], @( |3 A7 Z" p5 Y) p) v
'type' => $row['type'] g7 Z/ D; ~ ~$ q
);. r* h) C g' J3 Y9 X
}
6 d- j3 V5 z2 B# Xreturn $dyna_libs;$ E5 \* L( I3 r
}
{% Z, e- N! i' E1 U/ V7 g $ G7 }4 C6 b% n5 y0 {) R
将$ext = end(explode('.', $tmp));
: o- n6 v, C7 Q. N8 {2 C/ q改为
6 b8 u; |# {, [/ d, k |% a9 y) ?$extsub = explode('.', $tmp);4 o5 J/ b `2 ^0 g4 t8 i/ |1 A
$ext = end($extsub);& k5 Z8 f6 j8 R- [5 ]; S! t
& K( o7 c1 T2 L: {
解决办法 2(屏蔽错误) :
# V0 a% ^% a6 e% v + U. m$ h! y8 I7 \
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
+ `0 f+ T4 D# ~: H. K' D9 p. h9 vphp.ini中有如下设置:9 x: J9 P! A) W2 `
error_reporting = E_ALL | E_STRICT
) [: M; ?$ o, } + b2 H* E, F- b; S1 `# e2 V
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
( x. X, |- R) pJoomla其实是建议取消error的输出,如果出于调试需要,应改为1 I7 O k, D8 Q" Y5 b/ V2 I
error_reporting = E_ALL & ~E_NOTICE
9 P# w) o, [: N 5 D; J, v; t6 {0 P2 Y6 i/ t
问题得到解决。
& g' m- U/ Y/ C2 i
, e$ A" |. u# `# M$ S! q- h( O' q. i% _$ d0 |
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
2 B/ L) w2 k( m, J+ j- D2 x" aphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));' w" e5 _) J) I6 _. K7 H; E
改为 :9 L# ~/ X% D; X: e0 a/ s
$extsub=explode('.', $tmp);$tmp=end($extsub);! L9 Y5 {3 B2 f/ Y! k. _; o
5 \. T. S- ^# Z5 w9 y
|
|