|
|
; f9 a9 a; o7 ] 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 错误0 }( l5 `1 q8 V, @" R! c
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
: X4 \9 ?; a6 }2 n7 ?1 H 1)将function gd_version()改成static function gd_version()即可。
) G4 M0 g! J7 E( o* E 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:. I' b+ ]* |4 P0 f
$p = new cls_image();( |& Y8 W6 M# B9 I
return $p->gd_version();
9 B. p/ g- C3 s1 T& O0 o# y/ {* P& i, i/ e }! k1 g: }
& {3 B( e) N/ [) H, x/ D7 _; H下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:7 i. M+ T1 d* r8 p$ U- w. {
安装进程已中止% [# _' \1 W& P/ w+ g+ a* [& a. i
创建配置文件............成功5 V* b( W- @$ w. ]
创建数据库............成功
1 _/ C0 q- F8 P* Z安装数据............成功
1 ~, a" X0 n3 n2 C7 ]+ |$ V创建管理员帐号............成功( r) `( a% ]* f7 v
处理其它............失败, k. p( {9 j0 F; }# q9 V% P
u- v7 g8 k1 y" x- L/ aWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
* V) [9 j. @* x6 A$ J无法创建目录,无法创建目录
8 p, c, B$ Y/ J& j$ ?) r解决方法如下:
$ z, m+ f5 i0 _/ f9 w1 N点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: * }2 g i2 z9 X, S, V. A8 M
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
# C* c i/ t+ Z* {5 ]6 T& L, F不安装测试数据库一样可用,一样正常,不是问题.....; p8 x6 l {+ R4 b
愿看到此文章的朋友能解决问题; 0 o, k! e# w5 y5 t/ C: b3 [- F
1 I6 N- L( Y) `) @) O% E; ^% Y' l: [5 I
ecshop如何解决includes\cls_template.php on line 418错误0 K' p7 {1 U5 P
G0 `- Y- D8 z$ z; g. {/ |# C之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:: n* L0 V5 G! B0 H! X
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4186 f* q2 L% M5 A; y* N
第418行:$tag_sel = array_shift(explode(' ', $tag));7 k) v# H, l- P' @+ p" M
- v ~8 l* W1 {& h& @& w' r
解决办法 1:; O# w {- l1 h6 w' F- A8 d0 c0 M
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
- z: g/ }0 ]' o; X
# s9 O5 ~" \7 D# @% L$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);. M. x6 ~' t! s4 Q) o
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
3 a+ D2 }. O7 E. }& } z% N" u同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决) C" Y" z+ u- `: S
) n% E% G p' T2 D& i6 a! x
如:5 x. t; @ D" M4 v
function get_dyna_libs($theme, $tmp)
: A ]: c' L! \9 q+ [{* C8 K0 X' _: K; K, t! c
$extsub = explode('.', $tmp);
. c4 Y* ^7 `6 G. l% f6 q+ @$ext = end($extsub);
7 [9 b) h9 r6 G$tmp = basename($tmp,".$ext");, O; Z2 n% C& o/ Q$ H m
$sql = 'SELECT region, library, sort_order, id, number, type' .
5 U! w9 U3 Z0 D1 m; `' A' FROM ' . $GLOBALS['ecs']->table('template') ./ b' W2 x6 S9 k! u
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".2 O6 P" y% R# _2 H1 h
' ORDER BY region, library, sort_order';
0 v S5 y- l- _; q$res = $GLOBALS['db']->getAll($sql);
E) Y/ g" _0 \/ M1 t$dyna_libs = array();
# n! L5 c7 F% [* _) K5 Vforeach ($res AS $row); i% @0 q, n: |' p
{8 V; q, j8 q4 a) s5 I2 s
$dyna_libs[$row['region']][$row['library']][] = array(9 ~8 c# E8 ~, B! S3 K) S
'id' => $row['id'],
n; V/ ~$ _ x* z3 |3 k'number' => $row['number'],& ~1 V; \( L8 D
'type' => $row['type']" I, a' \9 ?* {9 U
);
! ~* ?8 W3 C4 i) i}
% `1 k/ M6 P8 T* R2 Ureturn $dyna_libs;; ?- ^1 G; `7 O- v" d6 \0 H
}
8 M1 h. u, J I4 N. s: G
6 {7 b1 { Q7 m2 K4 y* _' J" A将$ext = end(explode('.', $tmp));+ Y% M% J# p4 `
改为
0 p; {* i9 E4 X/ R" u$extsub = explode('.', $tmp);4 i/ k) O" r6 W; P7 D5 Y+ y8 b
$ext = end($extsub);
- K3 e3 u4 X G! A5 F' b
# t8 d. W8 n/ G! p! z! A. p解决办法 2(屏蔽错误) :
. T, V# R7 x7 K k0 O1 V: l # B9 a% ?0 l6 r$ C
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT/ Q+ l! o' I7 o- p. ~, x" ^# A
php.ini中有如下设置:6 H5 `- \. L# k. {
error_reporting = E_ALL | E_STRICT. y6 U4 i1 p% p" ]/ @+ @
* d& f7 x- Q. p" L, Z
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
' E: x# A$ t, l E4 q! dJoomla其实是建议取消error的输出,如果出于调试需要,应改为
3 N% [% r% W; O9 P {error_reporting = E_ALL & ~E_NOTICE
5 W! W6 P- ?7 n, C& l
" |7 j( Q' ^5 o问题得到解决。 P& ?! e! f, t9 b% A7 U1 y# L
4 @( j: T! `/ Q. B% Y0 c2 i
/ @3 y3 f8 o6 [1 v4 mEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line# N. T6 v x6 Y
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
: `0 T9 X _. ]& D* H, y: X6 X改为 :
7 V# L9 N8 X$ z) X% [+ J W, U+ |$extsub=explode('.', $tmp);$tmp=end($extsub);
/ B% m) }6 C4 \, f" B+ N- b6 {, s8 R8 }- }; g
|
|