|
|
+ L! c8 w( Q/ w
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 错误
- i4 C/ j z7 A1 b 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
/ a- o/ T8 E0 K6 z 1)将function gd_version()改成static function gd_version()即可。0 T9 w: O5 w8 [7 ~/ D2 p5 i$ ~4 [
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
6 P; D, O- g/ D/ ]6 N* J; P/ B ?$p = new cls_image();5 V! q( _& b T5 Q( N2 ^6 ]8 e
return $p->gd_version();
! `( D, M" w2 e- _6 d/ u( G4 G" ~2 d5 L' x* Y
( v0 m, p; K0 O
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:! c1 p" u) q b7 V0 K( H
安装进程已中止
5 S7 J& N- I1 O3 q- {创建配置文件............成功
) P7 J. K3 b9 f创建数据库............成功* b! T& T$ M( b2 N
安装数据............成功3 N- h* N: S( k5 M
创建管理员帐号............成功" D- \( ~- S! j
处理其它............失败
- ]) [) F- n( f; y" W
) `- u: q1 ?8 n" U/ x. m q9 ?( FWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
' @) V+ P& D" J6 d无法创建目录,无法创建目录
9 @9 t* i' I$ l0 y8 n解决方法如下:
& N Q8 q0 F" Q$ d. u7 r点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: " O% p, e# ^2 @$ h* C9 S* Y
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
, b9 ]" B8 y/ N: F0 o不安装测试数据库一样可用,一样正常,不是问题.....1 C# M0 c# ^/ {
愿看到此文章的朋友能解决问题; 0 B* J6 t( b- `; }& b
& y) D. _/ d9 F$ |
& Q7 _( L9 j( ~ Q9 oecshop如何解决includes\cls_template.php on line 418错误
8 G3 C/ B" O2 W$ D2 c2 d& L& r/ b z8 X: j4 E2 x
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
& m+ v+ s$ W/ e; l6 hStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418( Y1 N& D3 q5 }& J- y$ ~# X
第418行:$tag_sel = array_shift(explode(' ', $tag));; J) q; ~" X3 ^2 b/ ~( ~
i/ D# j& i& o! m B# T5 [, W
解决办法 1:
0 n8 E+ M# ?. F( J* { X v5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 7 v3 X* q: P' `- B8 g7 h: `
" k: {& r H5 n! t1 y$ s) c
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
, u, s8 l/ V$ T" B2 ~& U(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
2 J% j' V% b5 l8 h% C同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决/ Y2 B/ m( r$ c, d2 m
9 f: X- `5 S; \2 Y" a* K( C如:" I" o2 V* g1 Q
function get_dyna_libs($theme, $tmp)
% d# o% D. j5 D1 C2 i4 Y{
: n: J8 I" s# ]* L* m) z$extsub = explode('.', $tmp);
6 Y9 N4 a7 O9 } o* f' i$ext = end($extsub);
, z2 \1 z, l' {- G$tmp = basename($tmp,".$ext");3 y! H0 R* [. [% x% t- @5 h
$sql = 'SELECT region, library, sort_order, id, number, type' .8 p( U7 l! o7 C3 g4 D
' FROM ' . $GLOBALS['ecs']->table('template') .
5 Z' ]% ^. o: ^) L0 ?1 A) X) [- e2 `4 a" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
" w- Y# v( z5 _/ _' ORDER BY region, library, sort_order';
9 Z( S% f! W4 u/ c$res = $GLOBALS['db']->getAll($sql);
* @4 H6 X* _. {- X- e; {' ]$dyna_libs = array();
, F3 J. w$ N% D. q5 H3 Zforeach ($res AS $row)
1 H. L* L# t2 S7 M{& l/ b$ K1 r6 t* X0 a
$dyna_libs[$row['region']][$row['library']][] = array(
, g5 x3 t' P6 V: x1 a'id' => $row['id'],: K) \7 r/ j2 V, }- H
'number' => $row['number'],$ k! ~+ G# r$ r" l7 k9 |
'type' => $row['type']) Y2 o1 Q5 S- L2 E
);) {/ Z* ^/ e/ r9 I
}- h5 y( q4 A/ K' f% ]& i
return $dyna_libs;
# j A9 D: \% N}. z5 d& h; U+ q7 t1 R. f; A
- D, d2 V7 J) Y& z1 S( ^$ X- J& T8 {
将$ext = end(explode('.', $tmp));2 ~5 [5 ~5 R' t/ Z( S k8 B
改为 t+ r& I$ c' c0 C7 |
$extsub = explode('.', $tmp);
( Q8 P9 |7 C t$ext = end($extsub);
2 o! w5 R; F: t% B: K
) [; ], ~- B9 U$ {: d解决办法 2(屏蔽错误) :% o& P9 i$ `. `' z
, K- G& s" I! ~" a" j
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT8 _2 a& a1 ~* Z
php.ini中有如下设置:
$ U( P8 `: T" b9 K9 J2 d3 Berror_reporting = E_ALL | E_STRICT
, N" L- W2 F! V1 k/ b+ I " Z2 r( n$ C; k5 i' o+ l0 L7 R" o
这是说,显示那些不符合编码规范的警告(coding standards warnings)。5 r& \: n4 Y; O( z2 F' l6 B
Joomla其实是建议取消error的输出,如果出于调试需要,应改为: I; ^. i# Q0 K4 L1 F
error_reporting = E_ALL & ~E_NOTICE
' K- |7 ~: a( u4 n5 V( d( z j: P) D. j8 D P+ T# ?% X# T
问题得到解决。, |; w: n- E2 V7 r% F& A
0 F# e1 k# `. T$ f, M" u2 I
/ H5 v7 u" U& @
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
, @( e1 r- c* Ophp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
2 Z Q W0 n; f. s5 F改为 :* G4 l" d7 v# g) h
$extsub=explode('.', $tmp);$tmp=end($extsub);
0 U- d W; f F. |2 r7 V
2 k, M4 r2 { W1 L8 u |
|