|
|
7 }; T& m" o$ v2 v 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 错误
7 m5 _- \8 `0 b. u 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
2 J( M/ L1 S# p K" L( q1 d& s 1)将function gd_version()改成static function gd_version()即可。0 c# H, {& F: L$ O8 j
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
: h) a# {5 ~; W- M1 p: c! H$p = new cls_image();0 ~) {: @8 O; o. {* X* f
return $p->gd_version();/ M. ]4 l3 O& \
( X6 S V3 G0 r, `# O( X4 Y& S
' ^4 P5 b- Z- [' }& @" r下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:$ Q& ^* N4 B [( ]
安装进程已中止
}/ a, Q& ]+ s6 w6 D3 V: W创建配置文件............成功1 t3 ], U. m' }1 }9 i5 }
创建数据库............成功
; _' q2 {+ E; o: P" ^安装数据............成功) D5 G" E5 I: L, ]/ u2 c
创建管理员帐号............成功: ~! M& F6 I, B5 U( V; q
处理其它............失败, T; H% |5 R$ r/ T, a
# C! X! H* {1 A z I0 eWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528; Y5 Y% ]) G" }1 U
无法创建目录,无法创建目录# _3 h0 G. V1 n0 c# `0 {
解决方法如下:% m$ G! W* S! J$ i
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: 5 P+ d/ O3 R5 ~* R) ~$ A
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
1 N0 n& H# e- A8 B不安装测试数据库一样可用,一样正常,不是问题.....
7 v* f; j! F8 h7 ~3 W% l愿看到此文章的朋友能解决问题;
/ V+ B! u0 b: V- V6 J
/ A- C6 F! \! Y$ ^* a& [" d3 l* W2 {& o# B6 u
ecshop如何解决includes\cls_template.php on line 418错误
( o6 P, ?$ U, Y$ m# L( K$ i- \! j: Y$ b& x8 j9 x
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
c9 M( z- r! GStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4187 `$ r3 p- m- p) [6 A8 ~! M2 E+ g
第418行:$tag_sel = array_shift(explode(' ', $tag));. |, [$ A: s# N7 X3 N
& g" }7 m. Q1 J. _) Y5 g3 U1 j
解决办法 1:
' D( l y+ _( Y+ G: j5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: ) t+ r9 D+ u/ f
5 o |* {7 [ P \6 F
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
# w. l7 V% Q; }" P3 E1 _+ t(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值9 _7 T7 A+ f3 I1 a/ Q% M7 D+ w, {
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决) f$ W" b/ r8 n# N4 K
" s9 E% ]; u$ t( ]( C( I2 }如:3 g' U$ q7 K" Q
function get_dyna_libs($theme, $tmp)1 j& }1 w2 ]7 w9 o! o( L) j* y
{7 D7 [: A# s' h! Z8 W, L* j
$extsub = explode('.', $tmp);$ A, l& s8 l% c6 l" e0 `
$ext = end($extsub);
n) m" ~+ F# P$tmp = basename($tmp,".$ext");
$ B6 ]4 h' S n; l- ^1 B$sql = 'SELECT region, library, sort_order, id, number, type' .
0 M) O# P' ]1 i2 m) J9 P' G" N' FROM ' . $GLOBALS['ecs']->table('template') .: T3 P' r- l+ a+ C, D) f
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".( A) Y8 n8 U2 Y B* D$ m
' ORDER BY region, library, sort_order';. R: y0 P& j* k9 |( n* Z
$res = $GLOBALS['db']->getAll($sql);, l ]9 G7 R7 F# Y- p. _9 ]
$dyna_libs = array();! g4 a0 q/ [* D# H, v" Z
foreach ($res AS $row)) j* i7 c/ p/ P
{$ c- m% G- M" B; Y W3 _
$dyna_libs[$row['region']][$row['library']][] = array(
) H% @/ _8 g1 t" Q. R'id' => $row['id'],
8 l9 U* i- i) y* ]0 F'number' => $row['number'],/ S3 a- |' j4 y* S* S; K
'type' => $row['type']2 i- F& N# \& J2 P* L) p
);0 z2 I" C, l$ Z
}; V$ j' O) Y9 A, j* m" ]% g# _: I
return $dyna_libs;# F) ^4 p9 A$ T) n" U6 a: ^
}
2 f/ h$ d" W: G
- O/ b) G5 R9 |- Q& Z9 [将$ext = end(explode('.', $tmp));
" @5 z, i" ~4 {$ Y8 r4 P1 [8 G _改为: r \" Y0 P3 f1 l7 T
$extsub = explode('.', $tmp);/ i9 k* ]) E/ k/ [, h+ W# b
$ext = end($extsub);
! A( f8 i* I! F
8 R6 q) F* r5 f7 r解决办法 2(屏蔽错误) :
6 Z$ C/ v( ]2 J) t( ]" W; f/ d
5 |; v, y) y9 d/ Q# [5 R或则如果这样配置的话: error_reporting = E_ALL | E_STRICT1 U E( B$ _" \3 r1 H7 { a
php.ini中有如下设置:
8 S+ W' w& a, t' ^' werror_reporting = E_ALL | E_STRICT E8 e4 I- h$ y/ u7 ?6 \
; D5 {4 ?( { d0 h6 b* j$ @* m" X5 M& M这是说,显示那些不符合编码规范的警告(coding standards warnings)。
1 @3 n; H$ w: [/ W) `( m, fJoomla其实是建议取消error的输出,如果出于调试需要,应改为& v2 g! W* Y9 ^/ W z$ i% p
error_reporting = E_ALL & ~E_NOTICE& i# B/ Y W2 k2 C
& x3 X1 G' G: y4 t
问题得到解决。; U6 G } n/ q9 g
! z h% O0 a6 A
& K' r P' ~2 M. A6 q6 f, ]) n7 T
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
* {; q T- R( y @/ j3 {9 Dphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
l, b) D" t" l) v. g- T4 a改为 :
! N5 x2 i6 g6 b$extsub=explode('.', $tmp);$tmp=end($extsub);- F: ]1 e, O2 o/ Z. \3 Z' v
3 _ A- m3 p+ X, ] |
|