|
|
! a9 \& ]- v6 \ 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 错误2 w8 `. i+ S. N2 m9 X: K4 V
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:9 S J6 G2 g h# Z; ~2 V( k
1)将function gd_version()改成static function gd_version()即可。
( d8 M' \0 l; q8 n/ F6 a5 J( \ 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
+ y+ _! O5 L& a% F$p = new cls_image();. G( ?8 T* |! O' W
return $p->gd_version();
9 D1 Z' z! O* F# r( ~' q6 U% k0 I0 f6 S0 Y- v# `
5 Y2 N5 E- m1 n( ~! m( F/ @3 z下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
/ Y: B0 @; E2 W) @$ P/ q8 E" v4 [安装进程已中止
& `. m: T" T0 m' ~/ B) C0 b创建配置文件............成功
4 \* q) `4 V/ C创建数据库............成功
3 f A7 B5 [7 ^' t( y安装数据............成功+ M6 O( M O" a, S6 ]: A1 i( [
创建管理员帐号............成功
: ]: j% w' F8 f4 f. X处理其它............失败
7 n( S, p; G) w% Z# N1 ~4 U# p6 O5 Q+ W* R% u" Y
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
. g0 Z5 ]' X8 c0 f1 ?无法创建目录,无法创建目录% e V6 e/ q1 k- T' e
解决方法如下:
' z+ `5 p2 q* u# }7 ~2 m点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: ( q( U& e1 `/ J5 }$ P
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
( n& W0 z, F- \7 `: ^不安装测试数据库一样可用,一样正常,不是问题.....8 T+ E2 z9 M! l8 J
愿看到此文章的朋友能解决问题; I. H( S/ ^8 S9 m
: ~" Y* k, D7 _( e5 F3 j6 o) W! O/ C! V1 H: y
ecshop如何解决includes\cls_template.php on line 418错误
* T. |7 H) J1 d; {) T9 U% Z, W
5 G9 `/ V; e+ u之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
7 u+ S/ z' b2 V7 y( YStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
3 u) ]- y% A: `; P% E h第418行:$tag_sel = array_shift(explode(' ', $tag));5 h) v$ N" b. H, y0 }0 c' U
. d/ O9 n7 P! _1 |解决办法 1:! z6 ]6 p( b. m$ r+ l
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: ; Q5 y5 M3 D" D- j. F8 p2 Y
: k5 m* u2 o1 h( I* p4 A$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
: \, n! B/ T9 O* V/ Z(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值* l2 w2 `/ @& M! n) T8 m" e1 i
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
- M" |, `+ o# y# T
3 F7 s) N$ L, L. @4 X6 Z如:4 ?. x% g0 V/ P) ?
function get_dyna_libs($theme, $tmp)
1 t; |$ W; n0 i9 j# i ^' J' [{6 y5 i2 X& ~6 y6 y
$extsub = explode('.', $tmp);: R, F6 w7 S8 Q& P3 x
$ext = end($extsub);" C b# o4 C, k- [* x3 X# W& `
$tmp = basename($tmp,".$ext");8 p. G; W8 X: c
$sql = 'SELECT region, library, sort_order, id, number, type' .
- A9 f7 s' y' |& S( ]+ ^; [' FROM ' . $GLOBALS['ecs']->table('template') .4 H2 V ^4 D/ }( C6 m, R, X M4 e
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
) M8 L* i' n' x! W: e. _) K' ORDER BY region, library, sort_order';% e6 }; J ~+ }! Y+ c4 L) g9 E
$res = $GLOBALS['db']->getAll($sql);4 n5 ~" V( w! h% I; R9 u, r; ]
$dyna_libs = array();# E0 D( C. Q2 \8 R+ |# r- {
foreach ($res AS $row)
+ K2 m- Q; P( f7 z# m6 P) g9 z$ x{; m+ a' V: a- |% ]
$dyna_libs[$row['region']][$row['library']][] = array(1 W% b: i5 Z+ x) I/ k8 O, p' U
'id' => $row['id'],( r8 ?& s+ @! @" H& ~/ Z, H/ o
'number' => $row['number'],
3 O6 @0 g2 Q; f2 ]9 S'type' => $row['type']! i: G$ ?$ E& ]6 }( e2 f% x; g& c
);$ J. H @, J n
}
3 P, m- S Q5 q# r# Mreturn $dyna_libs;+ j, }9 s! E. M6 Z% v2 g s
}: V' \, A3 B6 }1 g
5 o( i3 O3 @! T M8 s
将$ext = end(explode('.', $tmp));1 \2 k* I. C3 u3 \7 B
改为
4 a# ~) q, Z- }) ~) _6 j$extsub = explode('.', $tmp);
) `$ y; w% H% h! f6 s. v6 r$ext = end($extsub);
- I7 z9 x- r+ C0 A) @% b
7 H/ l! L2 Q& u4 n! x h4 `- q5 f解决办法 2(屏蔽错误) :5 }. b$ {# L5 E$ @ U3 ~8 @3 }
/ \* w2 I) s$ k# U% v& _
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
2 l6 m) T6 w0 }php.ini中有如下设置:
: ~% h% A: w9 t/ m0 f$ w& eerror_reporting = E_ALL | E_STRICT* `( p# i% \1 A
* R8 j3 K. f5 Q2 _2 g$ J) A- T- m这是说,显示那些不符合编码规范的警告(coding standards warnings)。
4 H1 N2 y- \4 D% W k( Y, zJoomla其实是建议取消error的输出,如果出于调试需要,应改为
9 o p3 b# e+ U2 ?4 Gerror_reporting = E_ALL & ~E_NOTICE( d1 W- M7 z& t( z: e" O/ z% N
6 I' f8 K; i. Q问题得到解决。
! q: }) d& {) c) e* W/ Q% g6 Y% l& B6 o
/ |. C5 a0 U; C2 {# P, o
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
E$ ?* y+ s6 y- Kphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));0 u% U+ j! T9 {- g* ~& ~
改为 :7 p0 N' q& N. A+ @: Y, I" t
$extsub=explode('.', $tmp);$tmp=end($extsub);" b3 Z) Z$ S" ?. z1 D6 K1 o
5 [8 J0 _$ ~0 e- I, A" T7 @ |
|