|
|
8 ^8 b1 u: [1 F0 I4 q9 m
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 错误$ P- ?5 q" s, o9 i- j" J
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
1 V0 t' }2 n* l3 v5 ?1 _ 1)将function gd_version()改成static function gd_version()即可。, M2 M% Y+ X. o' N. Z5 r
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:4 `5 r9 T3 H4 r5 l
$p = new cls_image();
# |: w! {; W* k5 q6 v. i: freturn $p->gd_version();5 l, u/ D5 k, x! W+ I: G8 W$ l- v
! u! E" K/ S8 D# \) o# w9 ` ^: M- t, X
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:! o8 X& u# m m" v# R# i% c0 n
安装进程已中止
% a9 \; } ^9 Q创建配置文件............成功
; {! _* ~+ F5 a$ \. r1 X( C创建数据库............成功
+ a& j8 |3 B z6 j( x% m4 ?安装数据............成功
; Q/ l( q: O7 p( s创建管理员帐号............成功; M# u" a5 y# C* o4 G3 W9 W( d1 B3 n
处理其它............失败: r1 w: C- l. W; B* M+ E
' i6 N9 z! V. `' z' KWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528* b5 _; j0 o5 w% j; V8 L: B
无法创建目录,无法创建目录1 s# x# [5 A W' z. _* u
解决方法如下:
, w8 p2 [; Y6 M! s/ r- o( q2 ?/ t. ?点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: 5 c+ t8 N# s; O2 Y
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。; g7 o: q$ j3 p. Q' c# Z, R+ n; p- ]
不安装测试数据库一样可用,一样正常,不是问题.....' }/ p, T3 s! P% f
愿看到此文章的朋友能解决问题; 5 N" F8 @7 ~4 g! P3 ?, l" b/ i
) `( F0 F; w6 ?7 y+ n
6 q/ l, i1 [" S4 w6 A0 s7 u% `ecshop如何解决includes\cls_template.php on line 418错误6 M' ~% r: P2 R P* r3 ?" C1 j
+ ^ d! S- n; q4 Y9 P4 B
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
, I, {4 ~% K$ T9 c6 oStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
7 b7 X' `: {8 i) @8 b第418行:$tag_sel = array_shift(explode(' ', $tag));/ f- G4 z* t8 W& N# J% D
+ o$ J4 C6 d \/ `: K @: U: d9 e解决办法 1:
+ I \! I0 c8 J5 h5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 1 y: o2 N9 \" l
( E- z8 m. N+ q- a9 o$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
2 i5 ^0 a/ o6 W+ x; P6 `9 v(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值% O3 I" H; W8 F" U
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
: A+ b: F, K4 g/ P$ o
! b+ q) m+ J, n g- i! G如:
) p# l+ A$ L4 g4 l) L8 j; M- j. mfunction get_dyna_libs($theme, $tmp): e2 H/ a. z/ T0 _7 C
{ ~. K- I% _7 f0 h
$extsub = explode('.', $tmp);
. w" h! Q" z# ?, o$ ?$ext = end($extsub);1 q1 e$ c) g- ]' c% E) Z/ c2 ~
$tmp = basename($tmp,".$ext");
. |3 ~2 E9 r [$ A, ]9 b+ g$sql = 'SELECT region, library, sort_order, id, number, type' .; c& V2 u- }9 \/ W& O. B2 i
' FROM ' . $GLOBALS['ecs']->table('template') .
0 W' \5 p$ M5 [2 Q0 T' @" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''"." ?# q2 K: a1 O2 H) v( r8 h/ {
' ORDER BY region, library, sort_order';
: ~1 t/ f- [, H" M. @: ]) N9 d1 Z/ b$res = $GLOBALS['db']->getAll($sql);" }7 i2 D9 s' W7 ]) B7 }0 H" V
$dyna_libs = array();& @8 [) D9 x" w/ r& r7 ~" s- X) m
foreach ($res AS $row)
/ Y& x3 a$ [6 q7 f7 O) f, G6 V{
[( q/ T$ S4 \, `- y$dyna_libs[$row['region']][$row['library']][] = array(+ f; p& r- ?$ h& a9 J3 y' e: h
'id' => $row['id'],
4 s" w& C& p+ l+ X' a'number' => $row['number'],& p! L m/ e% c& G$ W% }
'type' => $row['type']
; m$ F/ O+ C! C! J+ Q G: p# {);
1 A* m) g' v( f}9 E& F G0 {2 z, l4 r9 S; Z2 x: A
return $dyna_libs;
* [ g" J [% y& c g}
' a& @/ p) n, [9 w * @; v4 C: Y+ {
将$ext = end(explode('.', $tmp));" j+ B% O1 L6 z4 v$ l
改为
\% I( a- B0 K$extsub = explode('.', $tmp);
* j- p$ B6 ?7 S; `$ext = end($extsub);
( G7 ?# ]9 A- w/ k8 |/ T" { 3 V( e4 [- d& Q/ l8 e
解决办法 2(屏蔽错误) :1 F( r- O o( F+ G% l
; O5 A g5 Z, C- i3 L7 l' I或则如果这样配置的话: error_reporting = E_ALL | E_STRICT' G2 t. N1 s/ c8 y' j( P0 d
php.ini中有如下设置:2 N* P6 S, b8 S8 @8 J9 p: D
error_reporting = E_ALL | E_STRICT- d. s6 E- @& @2 G
! w% M4 ]: c' j! B" l: c, z' H
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
) G6 P; K6 |( i& e4 ~9 B$ {Joomla其实是建议取消error的输出,如果出于调试需要,应改为
& l% Y4 y1 |3 d- C& C" T3 ^error_reporting = E_ALL & ~E_NOTICE
r* x, X. F% a% F" p) l% H
. P, K: L q% I7 I, I! A问题得到解决。% c( B2 |8 p+ v8 W# Q+ s6 J7 g
( S& W2 d# l! y
% I/ V! F8 H- c; g; F! VEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line3 L' ?7 |0 L3 [) y8 K: V# D
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
. c+ B9 [& Z, y改为 :2 e/ w' t6 _& B2 c5 [. p5 H
$extsub=explode('.', $tmp);$tmp=end($extsub);# t* z5 z! y' G7 p$ Z! y" H% D. d' q
8 _& p; v( P$ k |
|