|
|
4 b0 J- ?2 ~) o( K6 M 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 错误
. Y# L: M# V/ R- F- x" J. t 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
9 K0 ? d; _% @" N 1)将function gd_version()改成static function gd_version()即可。; w# T. V, u6 y$ a) _
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:- N2 @' W. y+ y% ]' }: j
$p = new cls_image();$ T4 f# R8 `, P7 n1 A2 O
return $p->gd_version();
% n, A4 P5 S: r: z3 H
3 v/ a- A& U5 q9 {) w3 [" g; s1 C
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:7 `# g4 M X& |1 G; ~. ]# ~
安装进程已中止: r. Y/ g* x" P( b
创建配置文件............成功# z! l0 B% m& s. \2 u4 p8 c
创建数据库............成功
4 F5 P% r' w7 J2 B2 x' C6 z安装数据............成功; m" \- l- P/ ~* e/ z6 N- ~
创建管理员帐号............成功0 J+ D9 B7 X- T& U1 U1 w2 a
处理其它............失败4 r$ x+ X7 d/ j( b
% x1 K8 M8 Z# @& {- Z1 tWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528: G" X9 s$ m: d4 e; u% l
无法创建目录,无法创建目录0 W/ S# E; |6 A, J& v4 d
解决方法如下:& _# ?3 A. v& E3 R* f! e
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
! j+ `! J2 R6 @! q(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。& T/ { ]' D: S6 }3 Y3 b: v
不安装测试数据库一样可用,一样正常,不是问题.....
7 y. B% J7 Z: y. W5 O+ g愿看到此文章的朋友能解决问题; 8 _! O( ]; {6 p% z( h6 p
( i, S5 O2 O) S2 |; X9 `5 G$ Q1 ?, H0 r+ L/ @4 ]9 i- e$ z( {5 P Q
ecshop如何解决includes\cls_template.php on line 418错误3 P" ?0 y( t" ?! ~
F0 E: S1 Z+ i5 b" V) Q' f3 b
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:9 n+ B" K' Y& e% U
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418) h* ^3 l: v# K3 U, w2 {
第418行:$tag_sel = array_shift(explode(' ', $tag));4 ]5 T5 V$ n$ s: q, {
! S) g. I/ q' S% \% Q解决办法 1:& z% z& R1 I; i& e n" Y: e `
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: . w# x" M; {6 s% U m/ m" E0 P
2 C, X. B+ ^5 e( Y0 G% k$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
* I% D j( P; _0 j(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值4 o* J% Y% X* m3 H. O$ f- d6 p
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
@4 \; T' E2 G. G) q0 d 5 l7 s, `% T4 U2 H
如:9 ?4 ]! U. y A ]9 p, f' P% Y, K2 @
function get_dyna_libs($theme, $tmp)6 v* K) m8 O' T# B" Y& V2 x
{
0 u+ _+ X' r2 p* N$extsub = explode('.', $tmp);
$ Q$ ~6 d! G+ I7 f# W" A$ext = end($extsub);
2 [) Q. s3 C# p7 J$tmp = basename($tmp,".$ext");
. G& m+ y5 x0 g2 c$sql = 'SELECT region, library, sort_order, id, number, type' .# b# f% W6 a% z1 P" E$ J" {$ ?
' FROM ' . $GLOBALS['ecs']->table('template') .9 a* @# I6 U, l7 D
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".% U" V1 y) B3 N2 U. F
' ORDER BY region, library, sort_order';
6 ~! C( C9 r. |( R$res = $GLOBALS['db']->getAll($sql);8 l6 F, O3 D5 p8 U) e
$dyna_libs = array(); D* b k: k$ n5 F# \
foreach ($res AS $row): i+ |5 @6 u9 |+ z+ a. b4 O
{
- T, k( B0 r; R2 e; ^, J0 F$dyna_libs[$row['region']][$row['library']][] = array($ F N) J3 j q7 S' [
'id' => $row['id'],- r6 W* B( ~) S7 R! e2 ~1 f" D8 @9 J
'number' => $row['number'],
1 _- ]9 d6 T) h8 S, X% |. ?. F* z'type' => $row['type']
, H/ e$ l$ q9 X/ P0 e);
( g3 H# F& O# n7 W- N- Y. x2 s( z# b1 w}
' n0 Z/ J0 M6 \return $dyna_libs;, s% K+ x9 B: ]: ~
}1 T5 O' A# n& n7 N
5 W* J+ @: k. B
将$ext = end(explode('.', $tmp));
! w# g9 k) H( n2 t6 i" C Z' J7 v改为2 v/ S) h* p4 m# ^$ L) t9 D
$extsub = explode('.', $tmp);
& z) h2 f3 L+ a) ^$ext = end($extsub);$ \( _. M* y3 H! C& \
$ _$ O! f6 i1 G% E% j7 V3 D解决办法 2(屏蔽错误) :: u5 h- t" J" L* L
, `" _! a1 G# j6 q% m3 ~
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
- U H- K6 k0 Y' ~5 E2 gphp.ini中有如下设置:- b) X8 s$ `, Y* d4 Q2 A' h
error_reporting = E_ALL | E_STRICT
* z, h9 U/ \8 x # F, t- O5 d! m( X
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
3 R2 b2 [1 x! l) R# X! QJoomla其实是建议取消error的输出,如果出于调试需要,应改为1 j @" R2 ~% R7 T4 r# j6 t4 m, \
error_reporting = E_ALL & ~E_NOTICE7 @% g: [0 X6 t1 o
) c$ q3 r) D) s1 ~; ^% w4 H. ?- B; h
问题得到解决。
" U" c% o6 E' w1 o
. N/ [; a) }& O: p( D6 V; G% T! j: Q9 b. n2 D3 {3 y. Y. I. L# d
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
( a; _5 `% _4 W& lphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));8 f* Y, G! k6 K, U' K6 a7 J+ k
改为 :0 B4 j" a1 U8 {# `
$extsub=explode('.', $tmp);$tmp=end($extsub);
+ Q5 ?) H t3 ?5 \* I
# k- u! `3 i) J9 W# S/ j# r |
|