|
|
- e) e2 |0 i# Y- P$ `" j2 L6 P
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 错误
$ A6 [+ C4 J4 s4 ?' d3 t2 A 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
& c3 M1 H' e- I3 F8 f K: a 1)将function gd_version()改成static function gd_version()即可。- v1 E1 {: E( l
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
3 Q( B* ~7 g$ L+ P. k2 @$p = new cls_image();8 Q' Y* P# I4 [# p
return $p->gd_version();, |6 \* B* P$ ], t% ?5 f; o
. R) q: T/ M; H& C/ ?) l' `& o( @1 F& @# C0 M; z. A% h
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
% ` u0 B+ N/ Q7 T安装进程已中止& E' g% `( Z7 Z; k8 F* y) x( T
创建配置文件............成功
/ |# O6 R2 m: r0 l0 B4 Z: A创建数据库............成功# u6 I) g- I2 @1 _& a
安装数据............成功& K' A0 T/ C, l# C& ^9 L" i
创建管理员帐号............成功
+ h! Z* s |6 ~" P处理其它............失败# V$ Z7 a: R. {0 \
2 ?* W6 b p( {' d7 y' z4 g6 cWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
) X, s" @) {4 \7 S( d. y无法创建目录,无法创建目录
; i. J# U& k e! U! n5 w5 U, p解决方法如下:5 G2 j: a6 V; R( C4 j) Q
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
5 n" ]9 j1 ?$ D- h9 e( _(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
9 \% ]3 ^8 {7 V% p2 Z不安装测试数据库一样可用,一样正常,不是问题...... `! p0 i4 A% d2 r* g h+ g
愿看到此文章的朋友能解决问题;
% O' M3 V$ Q$ E) \, _, R: s9 _
$ V, A4 p( v% w4 w$ Y7 g1 ?% e% W% q& J" y: H- ~
ecshop如何解决includes\cls_template.php on line 418错误
6 f; u, }! c: R8 I
( ?1 B4 n" Q* E6 Y9 o7 f6 ]/ q* z之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:) i; ?5 L0 I4 h0 [
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4183 q4 \! I) H) b
第418行:$tag_sel = array_shift(explode(' ', $tag));
6 J6 y/ c/ [9 z % d. |' w9 @) A7 U* l
解决办法 1:
6 [. @4 C- r" x5 i- }5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
4 P$ C0 v/ F9 V1 i 6 O3 E4 e9 h" S# N, q. y+ j1 A/ h
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
* N4 z; C" B1 C* t4 X(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值# F! Q* ?1 y; h0 g
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决) J8 I$ h) b+ z. `% u, ?4 _9 U1 g
# R' f1 h# D M如:
, U W/ o4 G+ N3 \ h* r3 _: @function get_dyna_libs($theme, $tmp)
% I2 {) a/ f1 M{; q2 Y2 O! ^: i1 z! y/ W
$extsub = explode('.', $tmp);
% z* G; k" K2 o8 H; f: |4 H3 @$ext = end($extsub);
) \) M- h* C. A) s. B5 z2 e$tmp = basename($tmp,".$ext");2 x( V3 j, w/ B
$sql = 'SELECT region, library, sort_order, id, number, type' .* G; s$ V& ]4 Q7 _" c5 V3 J
' FROM ' . $GLOBALS['ecs']->table('template') .
n% h! j3 X" b" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
" S$ R0 F/ ~# m' ORDER BY region, library, sort_order';
+ c' T& @" y% r. V; y$res = $GLOBALS['db']->getAll($sql);
+ U, y" `& q" o% N$dyna_libs = array();, ]3 X# z/ V0 y3 ], {
foreach ($res AS $row)" D! `/ S- ?7 m# F- W& S6 \4 |/ n
{
2 j W, ^8 b, l$dyna_libs[$row['region']][$row['library']][] = array() f( w! Y8 I- O
'id' => $row['id'],
7 ^( m4 Q+ k7 [$ c'number' => $row['number'],+ q& l5 I) }) T& t: s( f2 U: p" w8 ^
'type' => $row['type']
6 O( c5 E% M6 v6 `8 w+ X( c);; ^: @1 k6 D# B0 \
}
2 \% @+ L$ b) B/ X# |% {return $dyna_libs;" t' Y. }4 P# ?, T' i
}
. m" C1 V' R1 S# F b " Q7 g7 }* k& y2 H1 s4 b6 k
将$ext = end(explode('.', $tmp));
5 w1 {+ d6 B, I) N改为
% E( k, j7 m2 ~" B$extsub = explode('.', $tmp);$ p( D% M. d9 M3 F
$ext = end($extsub);; M) Z$ y, Y- H6 ?9 O% f
9 t& i4 b. |& Z: Q& I解决办法 2(屏蔽错误) :
$ x7 d$ @7 Z- z # R+ k- O) s0 H: `
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
( \5 E7 C r( u) l2 Ophp.ini中有如下设置:3 M2 P& h9 y( R" h/ A: f+ i- i6 F' ]( I
error_reporting = E_ALL | E_STRICT
5 k0 d- X. |2 W8 n4 C& D ! {2 X: w3 k+ J9 I2 c! @
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
% m( f- g$ l2 J+ t. X2 J1 w% ^8 ZJoomla其实是建议取消error的输出,如果出于调试需要,应改为
! i7 u- x8 D. `0 L- Verror_reporting = E_ALL & ~E_NOTICE. g- J5 V+ P; l. b/ `* c$ [( w
3 V% L3 l E4 x" z1 H6 }) }
问题得到解决。6 T3 i$ t5 x9 d1 r' B7 ~. G" y2 B% B
1 Y- t/ ~/ p; X
. }2 c, r, g+ h+ GEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line/ b& h% N1 F3 a# k$ o
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
" }4 B) ~7 F" {: Z. R5 i' l改为 :
% W9 t0 H- L! S4 g/ t$extsub=explode('.', $tmp);$tmp=end($extsub);
9 Q6 f4 z, K" Q. M6 C" S! }/ v7 n) o* R
|
|