|
|
3 B8 P: d. b3 B. B2 q- y
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 错误
) U; M9 n0 `! v1 U) G% m6 w) u 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:$ c% d5 |$ K7 Z$ F( n
1)将function gd_version()改成static function gd_version()即可。
+ Y5 L& ^6 U0 B1 [3 s. v 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:. O M4 a% x- |. ]- F* Z/ a# t' D
$p = new cls_image();+ q2 v$ Z, ~6 W% l% ~1 K Y8 B$ m4 D: U
return $p->gd_version();
8 N9 c% W2 ~1 {
4 {4 P6 x7 L5 O( e, b* K4 a
. L# J4 T' q4 `# I; i' s- e下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:& h4 j' x7 Q( Z4 ^7 V" R
安装进程已中止
3 |, U* v3 Y& Y! F/ B创建配置文件............成功
- x0 @0 }: u; f创建数据库............成功% _. {6 c+ s' E8 h1 i4 \
安装数据............成功1 s( `5 P1 r8 n, E/ {9 [
创建管理员帐号............成功
) q. G V/ Y5 s1 d" F' o处理其它............失败. G U7 Q6 o% M3 A/ @ I
- |( O: f# p) l
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5286 m! A. @3 ^1 @4 a# J8 K! W
无法创建目录,无法创建目录0 I1 [$ k8 f9 c9 m5 o- `1 j" F
解决方法如下:
! \$ ^4 k) Q% ~$ S+ d3 Y- w. B) y% w点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
' I' H7 a% i% [. [' [5 C$ b(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。) m8 S( X4 j$ c" e
不安装测试数据库一样可用,一样正常,不是问题.....5 c% W( m4 i; P7 [+ P& q
愿看到此文章的朋友能解决问题; 5 N; n) U8 c4 z& W
/ b. n) P( \7 I( ]& d0 T
- [4 n* Y3 y; b) O, _/ E% y0 S% q! |
ecshop如何解决includes\cls_template.php on line 418错误
- l& S1 `# K. d7 d. Y, E8 R- B4 Y) X1 o5 s, z* } u
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:. s. m( x& ^+ G
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
: B* \+ D9 B" p5 l第418行:$tag_sel = array_shift(explode(' ', $tag));# _; V7 q1 e' G, M. T) ?1 w6 D W! y
7 A! }0 i$ ?# E' k# W
解决办法 1:2 R0 \) }+ \4 k% H* @
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: : L' d: ?# Y. i) O, p
+ f/ n4 s R" q- _$ L* a
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);" f$ b" I7 R* [: d! e
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值0 z( R9 h# g% Y# y
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
; |# o& P% Y0 h3 ^# y7 _7 | * t2 b+ ] F& ~9 R
如:# O. m, _9 q3 d0 C7 f' K
function get_dyna_libs($theme, $tmp)
# I9 E; P/ [$ G/ L$ k0 F1 H{
6 T% M& u( _! y$extsub = explode('.', $tmp);
6 v7 H! G* D' L) {2 q, y& j( j7 a$ m$ext = end($extsub); b# V6 a$ U2 o, G; y
$tmp = basename($tmp,".$ext");9 `# S5 @9 k/ F% Q- Q6 U' w# s# _
$sql = 'SELECT region, library, sort_order, id, number, type' .: w3 L9 Y7 H- h& b+ L3 S' ]
' FROM ' . $GLOBALS['ecs']->table('template') .
" `1 d) A0 u9 e, y+ K. a; O9 A" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
3 G2 c' z3 D6 C; r' ORDER BY region, library, sort_order';
. N4 X0 x" L. t; ]1 F1 b$res = $GLOBALS['db']->getAll($sql);: O) t: c4 I% s9 G- D( z& ~6 |; V
$dyna_libs = array();% p0 W% b* L: Z- S, V }
foreach ($res AS $row)- L9 Z" B) N$ u) E/ j H3 a7 b, n
{3 R0 [5 t$ B {( @$ f0 X1 T' k( |
$dyna_libs[$row['region']][$row['library']][] = array(0 c+ x/ `5 ^9 ?2 P% Z, c
'id' => $row['id'],
5 T# @6 t+ ~7 T( l- A* f% v'number' => $row['number'],1 ]6 a! z) w6 p8 T* f3 p
'type' => $row['type']6 Z5 e# u- w" [
);
9 U* J2 @) |9 N# m9 G}* U: L- p2 [4 T- v( s
return $dyna_libs;' U% }: t7 D/ M* F" W
}
: j& v) w0 G9 W3 X; u+ C + |6 V& `* Q$ I# A; n
将$ext = end(explode('.', $tmp));
/ p6 B, n5 C# o3 E) a% Q- @改为
, V$ H7 B( |' X- v' j$extsub = explode('.', $tmp);$ Q# F. D7 w9 H, O8 W
$ext = end($extsub);" x' O/ p1 s5 G- u
( a: Z# e- P7 Y" ]
解决办法 2(屏蔽错误) :% W( v" T' s+ H! X) Y* R
7 {9 R: u9 s* X" n6 @或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
% w! n/ x9 S# Tphp.ini中有如下设置:
0 ~/ ?9 @! ^4 r5 cerror_reporting = E_ALL | E_STRICT
, ? d; j3 N2 |1 T# J; H. V # q; f5 A2 M) Q3 t2 O2 q5 \1 P
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
7 l* K/ z5 P" {7 d; R4 pJoomla其实是建议取消error的输出,如果出于调试需要,应改为
# M6 c7 Q, F$ ?. Jerror_reporting = E_ALL & ~E_NOTICE! Z, g8 I: T" W t) g% u. ~6 ~( q8 I3 s
+ I6 L/ ^$ B) [$ J问题得到解决。1 O0 d4 T9 j: N' E# o# }/ ^
D# U( s# N, R k, D$ j2 r/ _: E! D; ?# n( ]% W5 b
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line, ]% o9 t0 A0 A* Z1 G2 J* U& |
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
+ e/ \9 D. j: G2 O7 h改为 :
- h {1 g U( c' \4 P6 o% g5 g$extsub=explode('.', $tmp);$tmp=end($extsub);
( J4 [5 v3 q' X1 ]) y, D0 O% B8 C$ R5 n* b& A0 z
|
|