|
|
0 ~6 L1 O3 @8 {( o 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 错误
- C8 C% C3 s- W* R 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:3 C. ]) @& a, G& @
1)将function gd_version()改成static function gd_version()即可。
& b( _/ Y0 O" F3 F% j 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:' Q8 e. R& g4 v! _% h9 b
$p = new cls_image();
/ x, _- i ~8 A4 S3 m$ @7 l/ `return $p->gd_version();
5 r8 R: r, E0 B0 r4 [3 X; y0 D2 p# P& q5 v
$ C3 A% Q8 r2 p7 [5 W下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:/ X# I& @# j0 |3 X, J
安装进程已中止
/ s% x; A1 p C/ K3 k3 i创建配置文件............成功, z; J4 p5 ]7 t+ R% m: q+ m, Y6 a Q
创建数据库............成功/ B5 s# W3 p8 e
安装数据............成功
3 O: b- ?3 `9 n0 {1 q2 h% V创建管理员帐号............成功- e$ P1 Q2 D/ C
处理其它............失败7 X! P |$ ?( p, `
# h( S0 c3 O \3 X- RWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528 N. }$ ]. r8 f, j* S8 O" l" G
无法创建目录,无法创建目录: I U! {. i* a7 x( `# r
解决方法如下:
5 x$ r: b* \8 }1 |9 D O$ J* O点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: 3 o$ O6 A, }$ L: G; V
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
# D. ?3 B9 g& i) t/ G不安装测试数据库一样可用,一样正常,不是问题.....
$ o# w3 n8 R4 N$ A: e: z& y愿看到此文章的朋友能解决问题; 8 u" G* g$ D O! S
6 H' o8 d6 X3 Y0 y2 u% s8 G
) Z' v0 P, u4 x% @# e0 y) o. y* Secshop如何解决includes\cls_template.php on line 418错误
3 m0 T+ N* K# d. M- o" w! s h, a# \0 o, u
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
8 S1 W8 K' y! Z) c2 N8 XStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
- M/ |7 S5 F' @: V2 A( L( P* S第418行:$tag_sel = array_shift(explode(' ', $tag));/ N U- O& M# m- S
7 r$ f8 b' L1 C4 c3 s
解决办法 1:! Q! x C* l3 C1 H# J2 P* M4 [2 n. X
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
* E) N6 O4 ?9 B$ z - i1 x! j2 k4 W' A% k( M
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
, C! ?2 b o, _+ R5 Y(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
' j9 q2 b- b; o1 Q. a同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决* q! A6 h. W) v. o! y
# t" u$ S8 a) C如:
' k" j+ u& `" U5 Y: \/ n: ~/ wfunction get_dyna_libs($theme, $tmp)
5 @' {% X# c" d& p5 j- _1 ^* |{
: x Y! y. m# @, J' e" k7 U4 b1 n$extsub = explode('.', $tmp);1 ?0 r7 X, J" o8 G/ t
$ext = end($extsub);
7 x/ ]) U# U1 m6 w$tmp = basename($tmp,".$ext");
. v: I4 z- g( W+ E6 H, l$sql = 'SELECT region, library, sort_order, id, number, type' .9 L$ o# t, [' u1 f1 c. R
' FROM ' . $GLOBALS['ecs']->table('template') .
" l! w' \/ u, s ^& F- f" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''"., q5 l N0 k% Z B
' ORDER BY region, library, sort_order';. k ^ G; M6 I6 i% o
$res = $GLOBALS['db']->getAll($sql);9 q8 s. {9 _3 w7 J5 v4 W
$dyna_libs = array();
7 [( X6 e* z. _0 u) _! Zforeach ($res AS $row), b3 N/ J2 Z: B/ e' p
{
' [# `# @! t, L" i: y5 g$dyna_libs[$row['region']][$row['library']][] = array(
7 U& F- [/ _, h V3 G- N8 ~'id' => $row['id'],
7 U3 ?) {$ G/ K7 C1 _6 j'number' => $row['number'],& n' m7 W8 J! x7 R3 s1 ^& p
'type' => $row['type']
# m' J' a) b! `1 o- i! b2 y$ _);0 G; J0 f8 _4 q9 _6 g. E
}
a9 H/ k V+ N) q7 Ereturn $dyna_libs;
* M! V+ e. w3 v}
, b4 I8 L# M) |9 c! t' e+ d
, ^% ?. Z; A8 _将$ext = end(explode('.', $tmp));
8 t5 m( \9 S# D f m$ f8 ^' P+ f$ _改为* h9 K1 Q( X" k9 `
$extsub = explode('.', $tmp);
- Z, d9 y2 Q2 F$ext = end($extsub);9 \7 ~, @6 `/ D2 ~
7 a5 {( F$ I' p) F
解决办法 2(屏蔽错误) :
% W' J% J0 c8 B/ s4 _: G1 }+ C
# }6 {, g% ]( Z6 i3 d" C或则如果这样配置的话: error_reporting = E_ALL | E_STRICT. G9 t- u. R# z0 h
php.ini中有如下设置:
9 A# W7 g& E3 f% U9 I+ q" Zerror_reporting = E_ALL | E_STRICT
% r7 Y" ?1 U$ |2 Z/ T
. Z3 b' }" |) l. ?$ D' |这是说,显示那些不符合编码规范的警告(coding standards warnings)。
9 h7 z6 V; E9 gJoomla其实是建议取消error的输出,如果出于调试需要,应改为# m) [; n% M& f: A( o; t
error_reporting = E_ALL & ~E_NOTICE
! d3 @) u# _: G; W+ e
% H9 m& a5 @; B6 ~/ a$ [6 D问题得到解决。
V/ e. v- H: v8 y' D
" I: R" n4 x2 y0 W% ^+ |6 m' b3 E
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line" R7 u1 A3 M" R+ }
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));$ j5 Y5 x4 K( k9 X, d, F' W5 r# A
改为 :0 K2 z/ a2 C* x+ Q3 ?/ R E5 h
$extsub=explode('.', $tmp);$tmp=end($extsub);" x6 `% J8 U* N" L* }$ n* k* t3 `
- S( K3 |" T: a- @* D |
|