|
|
1 [8 r8 T3 Y8 E
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 错误
; f& J2 w2 n1 a# I H 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:: C$ d2 {7 g% e+ }5 o$ ]
1)将function gd_version()改成static function gd_version()即可。
$ e' \$ G# z$ v* g" M 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:& Y: c( h4 E3 J+ V8 u' h
$p = new cls_image();
+ W) Y' _9 n" I/ P: [, ], \return $p->gd_version();
# A a; A' D. p R2 j
" F( P' r4 d9 o0 K3 P& x, s5 F) W+ @6 ?; l
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:0 l4 ^+ G" }1 @" G
安装进程已中止
$ J6 x6 L( d( B$ P5 m' ~创建配置文件............成功/ ^& [7 R \; l& p
创建数据库............成功+ }- [6 L" R. E* ^$ _ I
安装数据............成功( Z0 D6 [ h" Y9 m; j$ W5 G$ u4 r
创建管理员帐号............成功
' L8 m0 o0 n+ }6 y, d. X处理其它............失败
( l1 c4 L% A* r+ _, B* ?' w1 t0 Z, i7 c0 d
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
1 J( k6 h" d: w8 U无法创建目录,无法创建目录: t1 K, r9 P- @! G
解决方法如下:
' A7 O7 W& O3 I+ A5 y u6 G点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
5 X5 U! ` ?/ c: x( f3 U(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。& J4 d$ u; g: L* x3 y% s' m
不安装测试数据库一样可用,一样正常,不是问题.....6 C$ v e6 z( z6 b
愿看到此文章的朋友能解决问题;
- l# o! A' Z4 P. F+ d5 `
) E' _' c6 j2 n2 k& k: q( e3 d+ t5 q2 L. H! L+ G2 ^" q
ecshop如何解决includes\cls_template.php on line 418错误& @; O5 Y0 R" o: Z; H$ I2 P0 y
. {7 j5 D6 ~& T y+ h' x之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:7 I/ H7 ?0 C) s
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4183 U) } F5 b3 K- ?$ @
第418行:$tag_sel = array_shift(explode(' ', $tag));
3 L: x+ D: _* b2 w# O5 }% f" I+ A7 K0 s
6 `9 F, V2 ?8 J# T4 e' s解决办法 1:1 P T8 ~. t7 r9 o- k
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
: w% J3 A$ `7 w( W4 i+ j4 Y! m" { 8 n$ h1 H8 f& s. W
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
: }: Z7 M0 S7 _1 p(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
' M. p4 V& s5 k- `1 ^) e# O- c) r& Q同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
) Z! O4 z3 z; P. h: l) r' z2 o
8 w& A- O& t. R6 S( ^# A如:6 w, p% m) W! P" Z; b
function get_dyna_libs($theme, $tmp)8 Z( `/ \/ q d4 `) F7 f: [( |
{' K, t* t* \3 H
$extsub = explode('.', $tmp);
3 R/ I- W: d! P, W4 [9 r$ext = end($extsub);" e$ _8 O5 [. v o
$tmp = basename($tmp,".$ext");% y% a+ U9 k) [+ A# z+ c: }0 o4 v
$sql = 'SELECT region, library, sort_order, id, number, type' .
1 y* I$ Y4 \; h8 K' FROM ' . $GLOBALS['ecs']->table('template') .
" B# S- [: {2 O) \" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
$ h5 \1 v; x! O; J: z' ORDER BY region, library, sort_order';* d/ k( c0 t/ ^+ j
$res = $GLOBALS['db']->getAll($sql);/ Y, L, b7 E: z+ {2 e* k
$dyna_libs = array();" ^, M o0 U/ v3 U4 t: ]9 a
foreach ($res AS $row)
T. ^9 v' F7 d/ ^, h+ ?. c4 c{
8 [! G' w7 j {. k$dyna_libs[$row['region']][$row['library']][] = array(
8 I) b4 ]. e' L+ |4 P% k'id' => $row['id'],# w8 d5 K7 O. F/ @
'number' => $row['number'],
! u, i; a G& ?" M6 ~! f; V'type' => $row['type']/ ?/ L. u# g0 Y" O$ A9 e/ e
);9 `9 u" q4 a6 ^- ]' p
}4 ^( z# z, p, f
return $dyna_libs;/ w' p, l/ [0 c% e) [5 S% E# j) r2 C b
}
* \9 e+ P8 R7 o8 ]6 z3 R. w " R7 a- M z, N4 z
将$ext = end(explode('.', $tmp));8 a. B o4 d6 S) M, E1 w! G" w1 i
改为+ W4 L/ O( S# \, J
$extsub = explode('.', $tmp);
: y( m* ~: A- u" O$ext = end($extsub);
- a) N7 q9 j+ {4 a
( _( P( _! u& s$ n解决办法 2(屏蔽错误) :
+ d( r. L R# r$ ^; k
3 r9 V7 x$ P5 [( T或则如果这样配置的话: error_reporting = E_ALL | E_STRICT9 O1 O/ m9 W4 m7 d
php.ini中有如下设置:8 a) d8 D: w0 [7 w+ q
error_reporting = E_ALL | E_STRICT# ]& m: j3 n, N$ A8 i( {# U4 e) l
E/ D T6 Q. q3 ?3 U4 ^
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
& | X9 _* n$ J; J9 u* B& b ^Joomla其实是建议取消error的输出,如果出于调试需要,应改为9 G1 Z v* e# |4 Q
error_reporting = E_ALL & ~E_NOTICE
& r# h6 t* p; b# F; ~
$ Y% @% h( @8 N. ?, r* c6 Y2 x问题得到解决。
6 q- P5 R, g( ~7 J1 L
$ r' `$ I( \. N) _( ?( O, M
9 S3 U2 f, t# Z" G% h kEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
; V+ Y3 h2 u3 C, O) Q' Gphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));0 j' S* z1 |: U
改为 :
! T! A' }" N$ F p! P% [$extsub=explode('.', $tmp);$tmp=end($extsub);
# L; b7 I5 [) A9 E7 z- d3 H3 b4 i& U. S. E7 Z8 `
|
|