|
|
3 o2 R1 A* i4 {! {
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 错误
1 E/ k* k! k( g# E% g 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
8 R! L' ^" S' ]3 `; f4 f7 _. n 1)将function gd_version()改成static function gd_version()即可。+ M' b) ~7 W% L: f: L L5 v! R, b' h
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:" c- m4 z7 q0 x4 Y
$p = new cls_image();6 F9 Y, Y. s4 g- W4 r# }0 {; P1 F
return $p->gd_version();7 {* \5 J9 n6 W. D" d- O
2 z6 Q; \2 n b- m# R
8 T$ W' {2 k6 L* e2 U4 e* @! L
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
9 l" {5 P X8 ~$ c, D安装进程已中止
0 R- l0 P- ]( @创建配置文件............成功
2 W# C8 ^3 E2 V7 u' I创建数据库............成功1 n- `$ n( K* C' F8 m' A
安装数据............成功; W3 h+ a6 w$ v0 w3 B8 F4 J1 G
创建管理员帐号............成功
. C7 t2 ]8 O2 V处理其它............失败
- G8 h, B+ H E5 z$ s* A4 v \' \8 ] X
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5289 B. j2 {) K) _4 ]' @+ Z; W/ ~) R, p4 O
无法创建目录,无法创建目录4 m9 c6 Q) y* {2 J+ J
解决方法如下:
2 f. F! n1 |0 B+ J7 d3 n点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
6 n; s$ J1 a# J$ n2 [(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。; s1 T' o& y* D# Y
不安装测试数据库一样可用,一样正常,不是问题..... u9 C; \" [" G* ~: D
愿看到此文章的朋友能解决问题;
4 V) |# |1 _. W3 W# `8 e6 h) N# ?6 M2 }+ s( I8 H- a
9 ~3 I5 Y* t- O9 R' }. L# ?ecshop如何解决includes\cls_template.php on line 418错误
" f W3 v% C! E* M0 F. y
: j+ |9 r! e/ [之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
' S: m1 o6 x# g8 r: cStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418! D/ b6 w7 R1 H1 w( v
第418行:$tag_sel = array_shift(explode(' ', $tag));
0 E9 g" y6 \0 H( _! H ( m6 T- n e) F# M* L5 H: i
解决办法 1:$ |' P& R( b8 ~+ }: A7 U
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
# n, Y- T7 r- _0 v" Q $ a2 A2 _) P1 S) e$ a$ K
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
& F1 |" H) s, y( E9 ?(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
0 t* Y" [: J, a( L$ G6 e同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决! y: |4 e% H: w3 g8 P3 o4 H" G
; J3 S5 y5 S/ b- r' d$ E如:
* V2 x# r# y4 u6 Y& {# Ufunction get_dyna_libs($theme, $tmp)
$ Y2 E, Z9 R" W" W6 y{6 J! ~5 Z% ?3 [$ o% c
$extsub = explode('.', $tmp);
3 ]# s4 h2 {0 T$ext = end($extsub);
7 ?6 D5 h4 z4 d1 M; m! ^! w$tmp = basename($tmp,".$ext");
& {* {6 M7 Q- h) O3 A4 ?$sql = 'SELECT region, library, sort_order, id, number, type' .% z4 h$ D# Z8 T: c. V' X
' FROM ' . $GLOBALS['ecs']->table('template') .
& P1 e) v8 n. F% ?5 t" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''"., S% G+ L% u% P
' ORDER BY region, library, sort_order'; S. [: c, S% L9 q
$res = $GLOBALS['db']->getAll($sql);+ o/ D3 {6 a0 h0 j" `% z, @
$dyna_libs = array();
3 R* G( `7 Z; L" {" Zforeach ($res AS $row)
) _6 S1 v* T$ o& C{" Q/ P2 j) F( V
$dyna_libs[$row['region']][$row['library']][] = array(
5 m4 Q4 H4 {9 L; U- v- ^- E( T'id' => $row['id'],
Z6 M2 F' c% k, [: O* G'number' => $row['number'],# A& E0 @/ o6 C( {8 d; R% ]2 D. z
'type' => $row['type']
9 Y9 v9 T2 A1 ^* ~: P5 I7 C/ s( U);; x V- P0 X0 G0 E$ [- r# a# \
}
9 l2 @5 r2 f2 B3 c5 D. yreturn $dyna_libs;
4 {" t" U8 V+ W/ N) y; ?! _9 _}2 U% n3 G( ^3 P; |
# @' e9 I# F0 j7 i2 C h- n将$ext = end(explode('.', $tmp));- d, p: e6 X% ~) E+ @5 P5 B, Y# u
改为
Z; K; T% g2 }; q9 z$extsub = explode('.', $tmp);6 S" \0 y$ Q; g1 u! x) r
$ext = end($extsub);# Q6 y) _+ z& u8 u% I
8 E# ^1 t+ V" n. w解决办法 2(屏蔽错误) :& g( C1 m; {0 X. Z
; R2 M U( U9 a% ?% M
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT% ^8 T& [, L9 D4 a# R' P5 c
php.ini中有如下设置:9 `2 h$ _ H L. y1 X
error_reporting = E_ALL | E_STRICT
+ I/ S6 `( q- k/ W6 n. o+ V! i
; o6 k/ ]9 |) \这是说,显示那些不符合编码规范的警告(coding standards warnings)。1 `, d$ ]+ V* P( ~
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
7 s3 V8 \0 f3 Q+ M7 K0 Rerror_reporting = E_ALL & ~E_NOTICE" t6 h4 D' `# q
8 d# p& L0 L6 U6 Q* m问题得到解决。" p% B' [) Y: f- k; [
8 z6 l6 U' s: n" v9 `2 x
# V8 W7 V9 \& `7 c$ C
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line. F' j- z' Y6 M
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));3 H6 q5 ?. h$ B. L
改为 :
5 y& F' n2 C0 Q) M2 {9 O! [ P2 d$extsub=explode('.', $tmp);$tmp=end($extsub);
+ [8 ~5 q3 t7 C4 `8 b, P6 O
) p, `8 j5 d$ k+ z6 d |
|