|
|
2 C1 T; t4 Q+ F: ?% g+ } 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 错误
* j% s7 z) v8 M ? 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:/ F" p9 ~% d: [; i0 s/ t
1)将function gd_version()改成static function gd_version()即可。4 O) B# p# G% k( q" n
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:- P6 k v& n. o' D) m4 Y
$p = new cls_image();% n" o% Q/ [( K* x; `
return $p->gd_version();
/ o2 z6 o3 A% x7 }- d: ~6 F8 ]
* L/ r+ i+ |. {8 t: h: o, D
4 \; @; C$ @: V3 j下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:* s% E4 a) F' T4 Z S
安装进程已中止
8 Y- }2 w( h; E) M# o创建配置文件............成功% b6 C- p5 R+ U& z" O8 m* X1 b
创建数据库............成功6 |. j6 N' ?) ^% t; ]7 q
安装数据............成功; e+ c# I& |1 G9 f5 a j
创建管理员帐号............成功9 `( {' n, K& v0 A: l& ]+ o) u7 d i
处理其它............失败
! O/ e7 o& U& i% M- E. K
2 M& Q% Q$ r# W j- [: ~8 [Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528; ?2 a: j3 e/ b) a" q3 h
无法创建目录,无法创建目录& a& T8 X: z- y0 J' j& F& s
解决方法如下:
2 n- _+ F+ ]8 v: N* J" x2 Q6 z点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
0 ~/ W4 a# r4 b# y- u- u(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。- g/ ]0 ]0 k1 ~9 {: X1 @$ r
不安装测试数据库一样可用,一样正常,不是问题.....' [( b, R# f# A L0 T% p2 @+ }
愿看到此文章的朋友能解决问题; & c+ a' }$ _4 v5 q
/ m3 O' B( O$ k2 W5 b
( F* _# T4 |/ X4 e' f! A" Jecshop如何解决includes\cls_template.php on line 418错误* ~; ?4 C/ t$ @7 n4 F' e Z+ o
4 t% {2 v) B8 M9 w之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:/ t* m& ~( T' T$ S5 l+ O. q
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
1 Z. |( V. Z2 o5 y第418行:$tag_sel = array_shift(explode(' ', $tag));
; f; \; P: p6 \* n 7 h O r1 R$ A2 Q& E: `( ?
解决办法 1:
9 ?* f0 P$ b' f' \5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 6 ?% `2 ^9 o7 u: g
/ L$ [. W( D9 _/ D$ W- @* b6 K/ V& b
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);( e* Z/ y' ?& u) W' l) z) g; [
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
: Z& c! q0 V$ r; d6 u% M同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
* V4 g: E: x; m3 h: f. D; f e, [7 }2 h; y O7 J2 V" Z. X# d) C4 K
如:! U# [9 }6 b4 L) x. [- T- E! l: w
function get_dyna_libs($theme, $tmp)8 }- B7 @! _7 s/ f; ~- t7 J
{, i3 G; P% b* c+ B& Y- p
$extsub = explode('.', $tmp);
7 ]: R+ F g. ?$ext = end($extsub);
2 D- s! f, V9 Z6 H V, e5 _# C! U$tmp = basename($tmp,".$ext");! H1 I$ ?6 {2 r: {; ^
$sql = 'SELECT region, library, sort_order, id, number, type' .: | H/ @' \+ k4 Y6 |
' FROM ' . $GLOBALS['ecs']->table('template') .
- b- T' _+ z) v. T$ Z3 k5 ~1 b, ]" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".5 e9 B- h' ^8 T( _+ P/ }
' ORDER BY region, library, sort_order';, D+ D# P, A: G3 T* d
$res = $GLOBALS['db']->getAll($sql);& {( y+ X- l: @2 r
$dyna_libs = array();
; K2 g. g/ a+ h% Jforeach ($res AS $row)
1 `2 f/ W! ]$ C2 `& V- ~1 s{ b: t6 O6 X: E" \
$dyna_libs[$row['region']][$row['library']][] = array(
0 G e3 Y( K4 p4 ]8 R0 e'id' => $row['id'],8 P7 n# Y5 s& U5 m2 Y
'number' => $row['number'],4 k# |0 g3 c3 U" M5 N; T
'type' => $row['type']
, X8 t0 a) m2 M$ J" o2 Z4 Q9 c);
% T2 v, p6 A% u$ ^! Q9 j- t- ~! X}- B: Z( U* O. \4 E: l; R- ]
return $dyna_libs;* f# ^; R4 S7 q. r$ U
}9 z4 c6 C8 l' O" m$ E
) q. ?4 X! @- }" v# f0 W将$ext = end(explode('.', $tmp));
7 L+ |. Q+ I7 I/ G4 W改为
- n( J8 X; a! C# G$extsub = explode('.', $tmp);( q" Y F7 D' d6 M
$ext = end($extsub);
$ b& Y/ |+ i8 l/ {) Y. _. A. m( } 9 L V& o9 L$ S1 i9 m
解决办法 2(屏蔽错误) :
( u3 i! v$ x1 O * n: Y3 a6 {0 K* o2 n
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT- e6 F( U- {% m5 s w
php.ini中有如下设置:# P7 X' b4 t9 u5 w# g. g5 t
error_reporting = E_ALL | E_STRICT! D6 t. g/ S w& J
' f& Y% G3 S3 O; ?这是说,显示那些不符合编码规范的警告(coding standards warnings)。5 ^5 Z+ p3 k7 a4 t5 |
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
) \4 W$ _, ^$ E. R P, t4 Yerror_reporting = E_ALL & ~E_NOTICE( P* o& x3 [( U3 Z
/ |4 D; I$ |7 r% L( p" f9 ~) C/ _问题得到解决。 O3 K. Z) c+ o5 r2 C) U) A$ {6 E
/ d# L `. h- ?# U0 i" j, F, P! ]( w0 f/ G _# v$ U3 X
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
$ {- g- y2 e# t& D* ]/ c7 sphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
# Q7 J' F3 `3 b- I' J" C- }# l- j2 J改为 :
% B3 C: f- j. A X$extsub=explode('.', $tmp);$tmp=end($extsub);
o; T9 O% D* ^; E/ Z, e( k. O& B0 H8 X/ X; z
|
|