|
|
$ h" H* D) A7 M; s 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 错误
M2 t) @6 }6 L" P* w5 o 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:$ \4 h+ ^' \3 \
1)将function gd_version()改成static function gd_version()即可。" G* t7 g/ i$ B# d1 V
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
6 _# ?6 {; p( G1 \. p" N$p = new cls_image();
$ C" i$ v9 m& P1 m& G! @3 C8 Xreturn $p->gd_version();, b- b) `$ i0 @% X' B+ t
0 x/ o, U5 X, t/ i. e+ E
- r; X8 n' N/ f" G8 e
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
) X1 O4 E, V5 Z9 v' o0 e8 D安装进程已中止
5 C( |* S, u* ?9 m创建配置文件............成功
3 G* T5 I5 o# v1 O8 \/ d# f# S创建数据库............成功) ~, a( \$ f9 g4 y6 F* [ m+ R
安装数据............成功
. L B' ~, C+ R8 @, I创建管理员帐号............成功
% \& `) b9 j* ?" F' G$ l4 e3 m处理其它............失败: s4 M3 g+ z" g; D% D- k
# v2 v- j2 a/ }; ^, d+ D1 I( RWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5289 H' S/ O. q" [' a8 K2 \8 q& F# b" N$ A
无法创建目录,无法创建目录
5 B6 V0 K e5 c) {* g" C8 ?解决方法如下:
0 M! k8 \( }1 {& V$ Y5 B点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: " T1 ]- m; F) f
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。, ^$ R5 ?1 ^3 {' t
不安装测试数据库一样可用,一样正常,不是问题.....
9 z# q. f% ~1 x3 v+ E愿看到此文章的朋友能解决问题;
6 j+ ^' {% |8 I7 b! ?" r( w* Q0 A2 n; P1 H5 `
6 H9 T1 G' ^. S- z) i. y2 q
ecshop如何解决includes\cls_template.php on line 418错误
; T2 P- c2 a* p0 m& o' x: E3 n
* l5 a; z% K& _1 f9 e5 k之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
! Y/ B) T$ d" r+ V& {. J& k- v& CStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
, ]0 E7 Q/ F4 x+ N第418行:$tag_sel = array_shift(explode(' ', $tag));
; u7 e1 z3 y) z3 r# o
! x% Q! A! V5 E5 C8 e0 j: M解决办法 1:
' z4 r, j& T, w" V5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: . x. H9 S4 ]% B, U
8 y. ^6 o/ \4 q. \3 T
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
1 W6 b# W6 f7 f8 i( a5 z8 L(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
9 L( ?5 Z. K. b# I- G" B; Z同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
7 a, M2 t4 G1 U
. S9 L8 a- ] b) x- R如:& v# z; Q/ M3 z6 W2 D4 o' X2 C
function get_dyna_libs($theme, $tmp)
; O) I1 V/ O0 y& E5 Z{) Q! x. ?/ y' H2 q4 D1 D
$extsub = explode('.', $tmp);" X/ v( _4 X# c
$ext = end($extsub);
5 G2 J, o1 p0 F6 K4 r$tmp = basename($tmp,".$ext");
+ j9 |5 ^) P, B9 _: H2 V7 a W8 S$sql = 'SELECT region, library, sort_order, id, number, type' .5 v. }! U n+ _/ O
' FROM ' . $GLOBALS['ecs']->table('template') ." K: G ?# d& r. i: W" S3 _
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
. [3 m4 T( U. P4 I1 Z |5 O' ORDER BY region, library, sort_order';1 W8 U# l( h/ v! p4 l/ N( Z
$res = $GLOBALS['db']->getAll($sql);
" f# X5 w1 D8 N$ _2 ~' I9 b1 W$dyna_libs = array();
7 x! c8 S+ T0 k% Eforeach ($res AS $row)
$ |. M' P C9 T' V" p7 I{
8 L C( D# ~+ |5 E$dyna_libs[$row['region']][$row['library']][] = array(
) [0 z# U: V" u" g! J$ ~'id' => $row['id'],
5 G9 f, Z0 F- D J" N2 R4 ?'number' => $row['number'],7 u0 y) c& g7 u2 B2 x0 P Y* U. p6 Z
'type' => $row['type']6 b5 u/ b) V8 }
);
$ H# n" Q& R! r7 N}# G( R8 s4 t1 h" Q
return $dyna_libs;- V3 Z- o7 _2 s ?7 W- H) t
}% D) C. ~( K+ u# R
z x9 C' X2 v( U& J将$ext = end(explode('.', $tmp));7 }* J! c+ f6 l# d K. q
改为
, I) Z9 A4 a6 s* B$extsub = explode('.', $tmp);' X1 }$ h) r, n9 ]! i% X5 x- F$ b/ k
$ext = end($extsub);. e. ~$ P; v# ~4 A
* j) f0 V' F) c' v# w解决办法 2(屏蔽错误) :
% q i( ?( ^* E# ]1 X* u. u. l {
/ O' U; J' ^/ F& o! `$ k或则如果这样配置的话: error_reporting = E_ALL | E_STRICT, D Z9 T& D, F! J8 u f3 ~$ w, K
php.ini中有如下设置:+ T9 Q( f0 c8 d3 L) l1 z
error_reporting = E_ALL | E_STRICT
% m( G; m2 k" t0 I2 X+ R* M $ R* w3 c4 R- H* B: m$ y4 q7 {
这是说,显示那些不符合编码规范的警告(coding standards warnings)。7 {8 {1 T' ^2 j( D
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
/ I6 V) `+ O$ P: G, E- `error_reporting = E_ALL & ~E_NOTICE% C0 K( o o6 d4 Q
* H/ {9 \( c2 f# ~4 ^& c- w问题得到解决。8 t9 a+ U1 z8 h- }1 U- w; @5 |
) G8 y. Z! {8 C, s5 L
* }3 _) z& D+ H5 n' l0 @Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
- h9 ^/ e# t4 z; A2 y4 Xphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
7 E% F+ p! n, C' l: N改为 :
' P5 N& C v2 p4 V9 E! B$extsub=explode('.', $tmp);$tmp=end($extsub);5 b) b7 P3 u0 ~
- t. Z0 @ d6 X8 s8 L |
|