|
|
" I: \7 D \/ h; w5 r* G& |6 F 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 y0 x* V0 [$ y( [9 u7 v 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:( {) e: z/ p$ s. G. V; N r
1)将function gd_version()改成static function gd_version()即可。
: t" i8 x* R- j/ ^, X8 K 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
( |" u0 C# |- f" }8 l) N$p = new cls_image();3 o8 w* T$ S8 S, O( e
return $p->gd_version();
( z* M1 \7 Y# `# F5 @6 z7 b' V' o2 D9 G7 z9 ]* X- \0 W ^) @% ~
/ g* l* @6 S9 S下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:$ G+ h4 u% m) I! u; u; P5 ]! a2 Y+ e
安装进程已中止
: }7 b6 a: x# d6 v, G创建配置文件............成功$ ~0 [- W. d" r
创建数据库............成功! |0 n3 Z s, f0 X5 N: N x
安装数据............成功! c7 X% [, r* x7 F/ \& p
创建管理员帐号............成功
: c0 ^6 G5 D/ R9 {; k# u. s5 p处理其它............失败2 Z2 I% u+ U6 A0 M* x! B) u
4 Z; a2 a6 B1 l _/ J
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528' j# m- D8 p; `" a
无法创建目录,无法创建目录 s5 R6 u4 X7 r$ @4 J" K7 v: }) w# D
解决方法如下:2 w: c+ V3 F5 N. i4 s: }" o
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: + U) T; K+ q' p
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。4 O9 i/ S! R- ]5 |& F2 M5 N/ k& c
不安装测试数据库一样可用,一样正常,不是问题.....
. I; j4 b3 k! b( U, t5 C1 ~愿看到此文章的朋友能解决问题;
% w* K, a& J* I6 E, c+ l
( v) r6 _/ Q7 S5 M) i$ r- Z, Q
7 a+ Q2 d5 t6 D. L0 c6 Gecshop如何解决includes\cls_template.php on line 418错误
; ^/ |# Z0 ~# @* L! _, |" ?9 o
$ c$ d' a% }5 u4 [0 ^+ e% O之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:! }" R! ?3 h! P# d% b2 R# Q: {' Z
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
, F& L" r) x- j! l$ F第418行:$tag_sel = array_shift(explode(' ', $tag));
& ?6 @, R# a1 ?# ] # F, }3 o+ D# L0 J4 P; @* C: M' T
解决办法 1:( W$ j8 I2 c% s8 h
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 5 q! w3 z r, W. \ F9 `
/ U7 ~, r2 i% f* S
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
2 d5 |- S8 L& x; f0 q' E7 F# R(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
1 t3 M/ c3 y- J9 |& S9 r同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
e. Z8 g3 t. z6 `7 L2 F& } + [3 p# @, z) q% Z. W" Y
如:
( v7 Q. r) {, b2 f, ufunction get_dyna_libs($theme, $tmp)
) |4 p( F2 ]5 G. l; O5 D# M{# B+ u* Y# T8 M
$extsub = explode('.', $tmp);
. Z; D9 s9 T7 @$ext = end($extsub);5 s* g! H0 e# H6 K0 n- [0 d- A7 ~
$tmp = basename($tmp,".$ext");- j" u. a) S. ? S1 p
$sql = 'SELECT region, library, sort_order, id, number, type' .
, q! {9 ], }/ l" |5 V! ?' FROM ' . $GLOBALS['ecs']->table('template') .
9 A# o% {5 I9 H" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".. k l1 J. A# z' a+ a7 L
' ORDER BY region, library, sort_order';, G# O+ r0 x z7 c- I; F8 e
$res = $GLOBALS['db']->getAll($sql);
# G! b1 T- s. B& a) _: I$dyna_libs = array();
* X% \( |, A2 E; E6 l1 s7 @' R; [1 H; fforeach ($res AS $row)
' q+ \, F5 _( E% R+ P{
8 s% y5 N* O$ S1 C, U$dyna_libs[$row['region']][$row['library']][] = array(8 Q& f9 N# Z* k; V5 D$ Y# Y
'id' => $row['id'],2 Z7 r) @) ^+ I. s+ r- @
'number' => $row['number'],
0 v6 D* V7 F! u- R( A'type' => $row['type']7 x3 O. a" i4 x6 @5 K4 r
);
1 e6 o |8 d$ z r' U6 Q7 y% B}
( _. U8 c, K6 F3 n, rreturn $dyna_libs;0 @ \( M! ^1 M3 P8 T& Y- f# b
}
4 F3 A8 _0 [3 \0 O# ~0 k7 e
6 |. f+ @* i" F将$ext = end(explode('.', $tmp));7 F9 y. ]$ C A; {2 \' @
改为
" H/ j$ K1 V7 I$extsub = explode('.', $tmp);$ g B7 l. k' H- y/ L2 Y
$ext = end($extsub);
! Z7 v! P3 a- ?1 P
: ^0 V% [7 a* w0 ^. x' O9 D; d解决办法 2(屏蔽错误) :- l& E7 q& R6 m2 w
1 D, a+ T! h, D' f或则如果这样配置的话: error_reporting = E_ALL | E_STRICT/ a, d. [+ g& e* k3 S) c; T
php.ini中有如下设置:9 _) L0 w$ }/ s
error_reporting = E_ALL | E_STRICT
- n0 W O6 P6 P! m5 V& d/ Z n
/ g) Q6 N P; a5 v0 i) d" c* y: @这是说,显示那些不符合编码规范的警告(coding standards warnings)。& j8 r: y$ Q: b7 z
Joomla其实是建议取消error的输出,如果出于调试需要,应改为( N" Z! _& i8 _- o
error_reporting = E_ALL & ~E_NOTICE
" }: W4 i) N+ A |6 ]; R& i
9 ?9 ?( n4 a0 b, ^+ |# c问题得到解决。
& C4 o0 T+ r! h6 V& _* A: I0 A: \% G9 a6 i
6 g- J) p1 N+ c! U5 \
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line' ~9 r8 j0 Q. J& ^
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
" x2 J7 P( r; y6 [ S' k改为 :
8 V n$ C# } g. X2 V9 z$extsub=explode('.', $tmp);$tmp=end($extsub);
! g X- v6 _3 d+ A4 t! L- r& e' _( T) P' Q9 I6 o2 r
|
|