|
|
; s& G/ ], t( ]
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 错误
( v3 {$ ^9 N* {; g; P6 W 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
4 Y# N4 t5 T" W 1)将function gd_version()改成static function gd_version()即可。0 o4 A! ~- \ i; g& v- l
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
. P" I0 L" W" l# {$p = new cls_image();& U& C4 r* t' O! o$ a
return $p->gd_version();
; c# U; @' d3 }* V& ^+ w2 S
8 k; M; [; ^: x$ s P6 h; y+ L0 _; m; l
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
# D" }) U0 `* r/ X安装进程已中止
- l+ m: p0 E6 x3 |8 G/ t& c4 d& `创建配置文件............成功! s5 \% h$ z: ]: |, U" n
创建数据库............成功* [7 G3 n j* t, p
安装数据............成功
: T7 J' u# j2 e3 S1 f创建管理员帐号............成功% }: k3 j1 z7 c( |0 {! D: a8 Q" H6 R
处理其它............失败$ [" Z8 }* a- R! r
, S. p4 c" c# ? g" l* w$ w- |Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528* A, ^9 R8 c# x+ ]* M& w
无法创建目录,无法创建目录. f `- S$ S x$ e8 K# K6 [$ C
解决方法如下:
' E0 O% {7 |! X. T) V# _点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: & B, V' ?6 k% M% v0 y0 o" z) Q
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。7 e$ Q' D' ^; U" V0 l/ @. y
不安装测试数据库一样可用,一样正常,不是问题.....
4 O% a5 F) i& T- W* U( `愿看到此文章的朋友能解决问题;
% M1 g) Q o% b6 r! d
6 W4 \# C( j \7 G0 ]* x: E& i
) ~- V2 D% G6 F4 p3 Secshop如何解决includes\cls_template.php on line 418错误# o$ E, P' S! ~& s+ M
- P: M+ W+ P7 P7 s2 y之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示: ~. L' O" p' w' G
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
' I8 X# @" T/ V% A# W' z. T# I. D( A' ?* z第418行:$tag_sel = array_shift(explode(' ', $tag));8 a7 x5 S4 N7 T- |( g
. q6 Z W1 _$ A* d( F- n解决办法 1:3 {+ X" A5 H3 I
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: , w& j2 P3 E7 a6 t7 y
, {' H" U0 \6 e7 s4 [4 z
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);) } K: Q! J+ C! S' u) \$ \% @! [- o$ F
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值3 n/ U( m; q( x2 o A+ j4 r
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
" T( P4 N, q5 M8 y1 S Q
3 c \/ m4 h& k& o( B! w1 x如:$ `2 X. |. s: c+ Y9 r8 O
function get_dyna_libs($theme, $tmp), \$ }( O8 g5 D( z
{1 K" a$ G/ W+ @( f w
$extsub = explode('.', $tmp);
) i! z& F0 Q9 D3 Z$ext = end($extsub);
% c# I% @% H% s( S( a+ H- F$tmp = basename($tmp,".$ext");. A$ q- K: ~# R7 w& b
$sql = 'SELECT region, library, sort_order, id, number, type' . j2 t Z3 r$ [' v4 B
' FROM ' . $GLOBALS['ecs']->table('template') .
% ?7 E! c. M/ R4 Q% W/ }" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".' T$ o* O# _( @/ z& D! E, P
' ORDER BY region, library, sort_order';
" q8 l5 }' h9 b% W" p2 C+ i$res = $GLOBALS['db']->getAll($sql);9 a7 x4 a2 q# v' Y/ L: M3 i) k
$dyna_libs = array();
, I" b t- R" D3 Xforeach ($res AS $row)- R J( J$ M; d( c
{$ W7 ]" g/ ]. W! n
$dyna_libs[$row['region']][$row['library']][] = array(
: }4 t# h. G+ f( f& J'id' => $row['id'],
x2 K, A- I& N( b$ s3 j7 f4 @'number' => $row['number'],
( f) x" Z) x: {+ |'type' => $row['type']
( c1 V# A2 Q" i2 R);
7 \: y" t: Y$ k1 Z- g}* a: t5 b' l3 X1 L
return $dyna_libs;
5 X9 p8 t' } ]) M2 v# b}& m. c7 W' }8 V# r) _
; H5 |0 X' H6 ~1 t/ ]
将$ext = end(explode('.', $tmp));
: ~* a& D0 `6 J- d+ W改为
* \8 B5 L; B6 m! T ?# b$extsub = explode('.', $tmp);. f; E+ _; M9 ]( y* Z
$ext = end($extsub);2 a$ i ^& D7 h
: K5 y5 G/ |9 u3 g9 x" ^
解决办法 2(屏蔽错误) :
6 d5 H0 O3 H' U/ ~/ f% X: u& P
" A) |" }# M& v# _( W或则如果这样配置的话: error_reporting = E_ALL | E_STRICT% b$ U5 Q; a( q% _2 W1 k$ U1 p3 T
php.ini中有如下设置:$ F3 [( W% @7 ?0 ^+ }
error_reporting = E_ALL | E_STRICT; _' G: b# e6 E( @7 A* C3 I( D
* s9 D, O. K* x) z9 q0 j' d {这是说,显示那些不符合编码规范的警告(coding standards warnings)。) e% E" X+ F) U" R# Z
Joomla其实是建议取消error的输出,如果出于调试需要,应改为( K+ z1 k- W; S$ _; y( l% R1 G
error_reporting = E_ALL & ~E_NOTICE2 ]( C. a1 V _5 ]$ Q6 _
1 }' w4 c1 L2 v问题得到解决。0 y1 T) X. j, ~" Q/ J
2 W/ F3 m9 F0 ~
3 {) e- D) h" h
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
6 U! p( N6 U6 |3 P* F9 J( Ephp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
% m( ?# m. q2 |改为 :6 m' s9 c5 r7 q
$extsub=explode('.', $tmp);$tmp=end($extsub);& \% E$ y8 ] R" V& S1 o# T
0 U- r' }; s Q; J# B' i5 f3 x
|
|