|
|
: L' b) O3 z1 ?3 f9 c+ c# g! D: Z 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 错误
|. E! Q$ }7 k5 f 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:* t1 M, w f* y1 g/ Q2 K1 f( e
1)将function gd_version()改成static function gd_version()即可。7 w; c5 O' \0 ~4 U
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:1 ]/ [' o( b6 a2 k& w
$p = new cls_image();+ D; n t( `% f4 h) R
return $p->gd_version();
8 x( E* K2 j1 s( z' Z7 o
% }& @; E/ C1 |7 w
+ B: T) z2 a3 p2 G8 _5 v( P7 r下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:; n, Y3 G8 |+ g8 ?; F; a
安装进程已中止5 F) a4 c% o+ X5 s
创建配置文件............成功3 D) Y/ W# i! X3 ]4 A$ L1 }
创建数据库............成功
/ x2 q* @; I7 ` v. n安装数据............成功/ m" x. J# p, H, }7 T& n% c/ F
创建管理员帐号............成功" B* k3 ~7 x& X7 M9 }# r; E! _
处理其它............失败
. C+ v' v; x$ m, Q3 `1 ^( a& d! ~
/ @- V$ {1 T7 H$ ~2 MWarning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
5 K- g8 Q" q! }! m, v无法创建目录,无法创建目录0 T. X* n. P. |
解决方法如下:
: E* Y! I# o+ q; _# A点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
9 Q( R7 ~4 ]# T& z# q(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。' |$ S/ V, X4 R
不安装测试数据库一样可用,一样正常,不是问题.....
$ h- [7 ~2 g* u- i; h1 \愿看到此文章的朋友能解决问题;
7 j1 |8 Y: J4 d* d7 Y6 x
7 o+ R& g6 ]; U2 p
- c7 d- C) z, A8 u" M% Tecshop如何解决includes\cls_template.php on line 418错误
8 |8 x+ |9 V& Y' f) n" k# K. G# p7 N5 c. Y
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:$ S. o( q2 w! }" N# `/ q& \% m% X
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
% } T) }$ ?( \8 x" O- M第418行:$tag_sel = array_shift(explode(' ', $tag));
, m* w$ U2 d+ o$ ~5 j) ]% b : u, \& p1 T' m
解决办法 1:
* U% D' d* g" D* E* r( ~2 g S5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: ! u1 H. p- j: L% e
( l6 G2 u2 I4 t+ x8 X
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
/ Z4 u q, c. Z6 w! e(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
& c1 P! { K) Q& l7 p2 K" C7 u同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决) @$ K$ `! Q+ h6 H9 B! F! O& v& M( A2 f
3 W. a% B% W- U& h- Z- D9 V如:
- |( E) u! a9 M9 ^function get_dyna_libs($theme, $tmp)
/ e; Z9 u0 G" H6 \6 j/ k{# k( j+ k0 H+ ~ k9 [
$extsub = explode('.', $tmp);
# g h2 \* y$ M7 c$ }* K$ext = end($extsub);
1 U" P" U. G; R3 U9 f) h# o/ {( }$tmp = basename($tmp,".$ext");
/ B1 p3 D& _( a, j) h. M n$sql = 'SELECT region, library, sort_order, id, number, type' .4 @3 w3 m6 X$ j
' FROM ' . $GLOBALS['ecs']->table('template') .( i: {; i1 r/ ?" I
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".0 R: K/ T- m3 v# A6 F
' ORDER BY region, library, sort_order';
4 M; m" i6 K0 A- F3 W7 b$res = $GLOBALS['db']->getAll($sql);$ N1 ^- ^4 ^. r: k1 f: ?+ G. I) t
$dyna_libs = array();
4 Y- M' n, ~* v( |* p9 `foreach ($res AS $row)
& c. Q* Z2 o8 D( y9 o1 L) O- o3 s{
$ h% Q$ J5 }3 J' u2 ^7 ^4 N$dyna_libs[$row['region']][$row['library']][] = array(
/ \4 ~3 {1 _( w! q- P'id' => $row['id'],
8 ?3 H# H2 X$ ^9 Z'number' => $row['number'],
4 E9 \0 M6 c" a6 F'type' => $row['type']
+ v! M8 v6 J" D" ]/ ]+ D);
' }2 @" R/ N, [" T) D7 @* ?}3 z* z( h% w# z; }# D* W: I, a2 A
return $dyna_libs;4 B7 p' u& [- z3 D) j3 Z
}
0 r, g8 ~) H: d! W ! T# ^/ T: `1 Z2 a9 c- N7 P6 K
将$ext = end(explode('.', $tmp));
+ M% b7 u7 ]8 _; |5 c改为
! t2 ?; W7 W+ d0 A* L8 U$extsub = explode('.', $tmp);
4 I. T( R1 E( V! C; Y, X, L2 r% ]$ext = end($extsub);
) p3 l/ ]# y% z( j4 o' ]/ O # @2 V3 I! Q* _2 m
解决办法 2(屏蔽错误) :+ Z! V s! B. i2 ^6 }8 [; A5 k
& ~6 S7 b# _ h/ t; x或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
$ @# |. y4 r7 M- j" X" Q5 ~0 gphp.ini中有如下设置:" ]/ m. E( b' d4 o& s: w
error_reporting = E_ALL | E_STRICT
% M: z0 a$ ~/ B" [, I" C ; o) X9 U3 L$ _. t3 ?
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
1 S9 [$ r" I# j. mJoomla其实是建议取消error的输出,如果出于调试需要,应改为$ U$ A% p1 f6 U0 Z! z! z* L" c
error_reporting = E_ALL & ~E_NOTICE
' N+ z7 U i7 [. k2 Y% f. z; A. _& f % b$ \0 X8 }# U: K" d" g6 e
问题得到解决。
$ Y1 B/ i, ~: Y& [
; G o) Q; ?8 H2 g8 J1 ]
5 j9 T* g+ [, N+ p4 s7 n9 E5 GEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
; x/ O: c4 r1 Fphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));, e; b0 H: y. k+ Y* `- M
改为 :" q+ a ~* u: u4 b
$extsub=explode('.', $tmp);$tmp=end($extsub);
$ K5 i. ~' `' [" r- {3 k: i' m: S. N: w0 w; r& x9 G+ ~) k5 R
|
|