|
|
6 |/ B+ z; g- p) i 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 错误
" V1 w% e* ^" ?0 A; E: ? 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
* c2 W6 ^: {$ Q% N 1)将function gd_version()改成static function gd_version()即可。7 @' `0 u- H6 K* ]& m& p4 y
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:6 L4 ^& D+ z" m1 |) O) n, ]& [* o3 Y
$p = new cls_image();0 M: Q* {8 q7 |) D, J$ ~$ A9 o) z
return $p->gd_version(); a# ?0 J7 E7 i$ O- h
B& X8 b# A, j
3 z9 t p2 T) R/ e, @4 {' S下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:: _3 j$ _1 t$ N$ J( K8 \( `/ b
安装进程已中止0 @* T) A" i! T% T6 n
创建配置文件............成功3 P6 x7 q) C* b1 A; `# ~
创建数据库............成功
: n, e" I# _& x# i6 ^安装数据............成功
, u( |, W$ _: H$ }创建管理员帐号............成功
+ j7 k9 ]6 U" k& W/ p处理其它............失败
1 {' ^/ z9 O6 [( L% E* Z. b1 h
v2 m6 ?2 l) V: z2 jWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
& T3 E9 x+ G6 Y- E无法创建目录,无法创建目录( a# t- e% g* S- h* O
解决方法如下:; e' t6 B/ ~& I s9 d
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: H2 G$ m4 r7 b' J/ d8 B3 U# X% h
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。% u1 y! W/ E9 p5 Q
不安装测试数据库一样可用,一样正常,不是问题.....
6 Q( `& ~- f1 E, J3 n7 A Z愿看到此文章的朋友能解决问题; ( H* d1 P( y p/ I* T" g
2 X8 P9 K* l- \0 o/ T
: @- r! o! [! wecshop如何解决includes\cls_template.php on line 418错误0 `6 w' I! g t3 [; q6 Y
( g6 Q3 c _: a% p) e之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
4 X! v; ~% S5 hStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418" j- @8 ]! p, ?. C" s: X
第418行:$tag_sel = array_shift(explode(' ', $tag));
1 J2 y! J/ {$ {% M% W s( Y/ v" ` * _, Z6 o* w" j3 s h
解决办法 1:
" K( @4 G5 ?0 D% \5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
' p, K% J i# g1 V9 ^% m % w2 G. ~3 o6 V1 p' r3 h+ \& \
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);7 c$ U" p$ h. X* ]# i# O- {
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值: Q _$ K" x3 j0 K! E2 F. ]
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
! h: @1 S, c R3 W2 W
' ?* M7 o+ a( Y1 N如:# _+ S/ Z: v6 ^9 ?
function get_dyna_libs($theme, $tmp)
( P, w$ g8 F, S6 |4 p: k- b( E{( t& g* M+ h) i& p* V- i# o
$extsub = explode('.', $tmp);; y% _6 ?5 e( ]! n+ ?* I
$ext = end($extsub);
( U; c" ~8 G' L. D$tmp = basename($tmp,".$ext");
3 G/ \ a: B+ s }$sql = 'SELECT region, library, sort_order, id, number, type' .7 J& D1 o- o5 {
' FROM ' . $GLOBALS['ecs']->table('template') .
* \" ], t8 E! h! l0 ^" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''"./ |7 v/ @8 W. i8 @5 t. T5 Z& l1 R
' ORDER BY region, library, sort_order';
8 M9 h) U: s% I) s* p/ @8 Q% X$res = $GLOBALS['db']->getAll($sql);
+ v" A1 G( u, ^3 b0 w! C n' J) W( d$dyna_libs = array();! Y3 S! `/ V% e) C! W* b
foreach ($res AS $row)% E* M l9 v0 ]2 Q; y
{' N4 a: F; b( g) a' q: m
$dyna_libs[$row['region']][$row['library']][] = array(5 V6 P- Z' T* k1 F3 l
'id' => $row['id'],
5 S8 n% O" R' @'number' => $row['number'],
. C. [( [, s! E4 |'type' => $row['type']
, S: g9 I' f7 l( C);
* l1 Z0 O$ y, F4 x I3 V/ i$ T( c}' ]: K$ ^$ ~: }$ N4 V
return $dyna_libs;
, R2 S; m5 n: g+ ` n8 K" ?+ Y: H}6 O/ x# l% m$ y
5 b0 G& S, l9 e4 ^: d7 k
将$ext = end(explode('.', $tmp));
7 I, X; V: L2 G) O" L2 V4 L改为" V4 x2 p8 F( f2 S" A2 w* c
$extsub = explode('.', $tmp);
9 T' m" j g0 E& H: E$ext = end($extsub);7 I# g; Y7 X4 S% C5 ~+ L1 q
$ h0 L6 M' H% E! l6 \解决办法 2(屏蔽错误) :
0 a2 F0 Y, y' s j* b 9 i( }. J( N. d1 H
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT# _% Q, @$ _8 b! z3 d$ i
php.ini中有如下设置:
, ]8 P \( ?) p; aerror_reporting = E_ALL | E_STRICT
6 b) r4 ^4 E; \
' U& |, _5 Z3 T9 V, K! S这是说,显示那些不符合编码规范的警告(coding standards warnings)。- @1 Z5 I! t8 H( I0 n0 t# r/ W
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
! b0 J: P- ~9 a" e: herror_reporting = E_ALL & ~E_NOTICE
1 F$ M$ Q" a+ ?- ~( ` $ X8 w7 j. W8 h8 ~/ h1 S
问题得到解决。( @+ G& j9 C- m/ O
% g3 o( |" s$ ]2 J
* z8 J1 H% l; {5 c4 ]Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
" I0 V& F7 v, @4 yphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));: f# S' P4 L* P" X x
改为 :
+ @% l* o9 J6 e$extsub=explode('.', $tmp);$tmp=end($extsub);, a. v# z. ~# r" I0 S6 n& Z- r, X
! }6 ^$ T- r# ]) n7 p- ?2 W* h' J
|
|