|
|
& @. O6 P7 @/ L ^, N4 t9 { 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 错误; V: K: A$ u- p; {8 R
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
8 j% H' e. V$ p6 u/ [+ n 1)将function gd_version()改成static function gd_version()即可。 }4 F( c [5 y
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:6 t2 U! E- ]1 C" s3 K7 Y4 _4 D& c5 J
$p = new cls_image();
' j( W' p2 @$ S; n0 P' [2 Ereturn $p->gd_version();
0 z! R: u$ h$ a2 s
* \7 y: d' b# n
. c; i; k4 f% b' N! |下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:8 z. M/ j# |" [2 m9 |
安装进程已中止
" r) A7 p9 r1 E, Q9 @4 o创建配置文件............成功* b0 t2 H! Q5 O1 L) c
创建数据库............成功
. a4 F: u* T6 N安装数据............成功
0 K2 K! n c. }, n; F t0 }5 L1 Y创建管理员帐号............成功9 I6 p- j& K& ]( R
处理其它............失败
, M8 i9 \% F3 H% j+ P9 D
$ M" C+ h, _& [" L, zWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528# k2 r4 N3 v. I# c% t
无法创建目录,无法创建目录
" n' p. f. ]1 o1 P& N解决方法如下:+ v" [: {1 p7 V) Y
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
7 n6 ^( s/ }0 p n& p/ }(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
; p: _$ p- y! F/ o' e5 T' ]不安装测试数据库一样可用,一样正常,不是问题.....# t+ N% c+ h- ^) O
愿看到此文章的朋友能解决问题;
! j4 @3 j( U$ p5 V% {% `( A' R1 h/ X
( f! \# d$ t7 R( P7 H M/ h2 Z6 f- U) E& O
ecshop如何解决includes\cls_template.php on line 418错误
* g7 c" U! D* ^9 X4 d, X& V; v* W/ u: p, h
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
5 ]% a" d( `5 P* `+ ?9 |Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
$ u8 O; W( X; C第418行:$tag_sel = array_shift(explode(' ', $tag));
- Z* {& j3 I6 K$ P! w2 W7 Y - v% w$ }) v5 V+ t% X! E
解决办法 1:
3 F9 j+ ~, k8 F1 W- N. x% y# F q5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
3 ^; w$ }: ?" b, S. A! S+ U, K, {& r
" d+ e1 J! d8 X; b2 L) [! ^$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
! B% |- A+ ^4 S) n/ j$ m; o) ^(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值4 m9 }+ a. R# n7 S% c
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决& _+ z# {; o0 N3 r
' S/ O4 _/ C6 b# R8 [
如:$ Y4 ~- ?+ r: Y) ~5 _
function get_dyna_libs($theme, $tmp)9 F% N7 ]* u9 T/ }8 d
{
( T p3 w: P1 C/ s0 G( D9 J$extsub = explode('.', $tmp);
* l. U8 t o, D3 B( e9 X3 Z$ext = end($extsub);
& z. ]1 k0 c& U$ K) c: @$tmp = basename($tmp,".$ext");
( ~. X: `$ S3 t; T/ I* Q/ b1 Y$sql = 'SELECT region, library, sort_order, id, number, type' .
$ [7 P2 U+ O, N9 ^! B' FROM ' . $GLOBALS['ecs']->table('template') .
! m( n* j- ]) @+ S+ T7 ]- q" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
# p8 H. h* c+ K& ?5 @' ORDER BY region, library, sort_order';, L; C1 A9 y# \. X5 A" G( ^
$res = $GLOBALS['db']->getAll($sql);
k% I* ~2 b7 [3 _/ h$dyna_libs = array();8 ~1 A' u; n$ ~; w- {/ E5 Y$ m h
foreach ($res AS $row)' W% R* B' w- _/ b8 O$ f
{
% V5 ~8 c- _8 |5 m. ?$ S$dyna_libs[$row['region']][$row['library']][] = array() E( T5 q# [% [8 m G: H6 r
'id' => $row['id'],
; ^6 K6 R k. r'number' => $row['number'],5 s) `8 l" L' u1 h. }, e
'type' => $row['type']
& r; H% s0 N3 Q$ o);
9 }, G7 b4 r& ^* B$ j" V}
3 Z$ T M% N7 {return $dyna_libs;: O" T* ] [, u2 D8 {$ X- n& p" D
}" D5 F% ~* n3 c8 M& i. G
( P2 z: ]! @' F" B) D, x- W将$ext = end(explode('.', $tmp));! n$ n) c* T c1 B
改为
* v' q2 ~; S& F m1 i$extsub = explode('.', $tmp);: K$ ^; n7 q$ y
$ext = end($extsub);, q: r/ r0 }1 t" c
, Z) z8 Z8 M0 m$ |1 ?解决办法 2(屏蔽错误) :
" j7 I H. a! L3 L# s; i" \
; x' `: E2 A& h1 h或则如果这样配置的话: error_reporting = E_ALL | E_STRICT7 W; R1 w# N0 K3 I* I' O
php.ini中有如下设置:
- j- K4 s$ h3 ~3 o* p! |/ Aerror_reporting = E_ALL | E_STRICT( A0 ~% [+ A/ b% ^
* O) f* g0 g$ l4 i这是说,显示那些不符合编码规范的警告(coding standards warnings)。6 Q, z& W% s0 E9 H( A! o7 |' ^- V
Joomla其实是建议取消error的输出,如果出于调试需要,应改为5 ?* \" O: y9 _5 A) `
error_reporting = E_ALL & ~E_NOTICE* ?" w# Z; {% i# g2 ]" m
' c& M: v: Y3 V% U7 ]) f5 z2 x
问题得到解决。
, @, ^& @. m6 r8 b& p, ]: L8 S' [0 a3 L, t' C2 C
4 Q' `7 p/ L! a
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
G# w/ {7 a" X7 m$ vphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
8 G2 R8 k% x3 `9 w( q改为 :8 `$ c- n _3 N- T
$extsub=explode('.', $tmp);$tmp=end($extsub);
A' K( p. g6 z: o( Z# `9 t L4 I) n, Q8 e
|
|