|
|
$ r7 V8 N- w6 F9 u* `, S 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 错误
, n! F4 i* h7 ^- }0 e P# d! j 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
7 C8 `4 A& }) t 1)将function gd_version()改成static function gd_version()即可。
% `- w$ V; I9 r' D 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
T0 x% a# q+ a7 M! U$p = new cls_image();
2 _( X" w- B* `2 f" Dreturn $p->gd_version();
+ ]/ c, K) L' n b1 \+ F( [* j4 M1 G4 C/ \- n# @
- h, T3 t8 u: a( C! ]( P t, D7 N
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
0 I" F# b% X) C5 s1 l安装进程已中止
: u' W! A- q9 v& n+ Q创建配置文件............成功
4 ~# t% _9 h2 G* `0 O' R创建数据库............成功
, T T- z; {1 M( W' B2 o% ~安装数据............成功
7 k' M$ r. _; a# A, m+ V) X' r: H9 d* i! s创建管理员帐号............成功" Y! p- L6 h. l5 Y5 f1 s' Y7 i
处理其它............失败$ \3 V" q! A) @
u" K% D+ v% c. R, ?7 }Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
- w4 @! u# l0 B# H0 h* T; Y. `无法创建目录,无法创建目录. h& U( } w5 H# t
解决方法如下:
' a7 {& t4 q) n$ E点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: / }1 [5 ~) a" k/ y0 _
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。9 I, ?8 U. _6 T2 |
不安装测试数据库一样可用,一样正常,不是问题.....
- ]- S& L! G! W Y& i5 z- S愿看到此文章的朋友能解决问题; $ e& b7 N& a% ^
, I2 r, U! |9 w/ M4 T6 m ]
4 d e) e, [7 U3 e5 Yecshop如何解决includes\cls_template.php on line 418错误4 i T5 Q( {' x
+ B. \1 h$ n& {# {- @( V之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:4 E2 z7 w; A' l
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4186 V2 P: m1 }; T) Z
第418行:$tag_sel = array_shift(explode(' ', $tag));9 B2 g" B7 r2 O+ I
e \' l, L Y
解决办法 1:
/ E% O) m" V; q" Z/ W& q# _5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
+ I' w$ z) j( x2 ?, ] : [: S6 z& w% u4 S7 O: P
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
/ Y) H* q: Z6 v7 a* e(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值" n* N7 c* Z, ]+ t5 d6 K
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
- s$ O$ u2 l! J( e$ y+ n& T3 M , x" f( p' V e3 l. n4 Q
如:
; w) i0 l( v6 H, g+ Pfunction get_dyna_libs($theme, $tmp). Y. L: `% S: ~" l# |$ x( _
{5 s1 e, {3 q/ A" ^
$extsub = explode('.', $tmp);! v1 D1 `5 i1 E4 t( f a
$ext = end($extsub);; O( |8 A8 Q' p7 o6 q, v
$tmp = basename($tmp,".$ext");
, P0 s2 d5 O q9 J0 w! O$sql = 'SELECT region, library, sort_order, id, number, type' .# {& Y7 u0 n! B2 H. Q. V: _
' FROM ' . $GLOBALS['ecs']->table('template') .
/ q2 U/ M5 ?+ K( q! M9 Y1 {7 c$ y" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
, k/ o" s" h6 x5 V" ?, ?7 t' ORDER BY region, library, sort_order';
1 o, d* |4 s7 W* U P$res = $GLOBALS['db']->getAll($sql);9 @( _/ F8 R5 F9 [* Q
$dyna_libs = array();
" D, @: w4 q& o6 C8 S4 Oforeach ($res AS $row)! `5 }( {: [2 |5 j
{
& B; @) D/ ^* L$dyna_libs[$row['region']][$row['library']][] = array(5 ?' R5 S& [4 A! h5 l
'id' => $row['id'],
* c+ ^+ r- w- X" M'number' => $row['number'],+ z/ Q! A8 Y2 K9 r' l
'type' => $row['type']9 f& b6 e% y5 T
);( o! V& k; Y9 e4 K
}0 C0 H- o/ [" ] I" n! I# K
return $dyna_libs;
: x2 l/ `' ~! F; r; Y" p}
3 O1 V! i3 s! N. a6 E9 n( Z
7 P7 W% f$ D4 n' V3 O4 G' Q将$ext = end(explode('.', $tmp));
) `! S! `' q0 L+ R7 M% d+ B+ |- a* _ x改为 [7 J9 E+ D w- S
$extsub = explode('.', $tmp);
6 q& V% f7 k0 w7 \$ext = end($extsub);
7 L9 [6 Y7 T! U: E
$ J5 Q: W* r, y4 N( T( ]解决办法 2(屏蔽错误) :
* V# z7 w t B7 I3 ?8 C 3 u# t$ ?" \0 ?2 o5 l+ a
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT* O2 _2 L# u. U
php.ini中有如下设置:
1 w0 c5 k; c/ ]5 jerror_reporting = E_ALL | E_STRICT: T5 ^* w" o9 r) j7 ?/ i
8 v2 \6 F6 r) m. t; c这是说,显示那些不符合编码规范的警告(coding standards warnings)。
( x$ ?1 _; }0 t( Q$ ?. A" Z+ O" Q) hJoomla其实是建议取消error的输出,如果出于调试需要,应改为
% n* m3 k9 }9 qerror_reporting = E_ALL & ~E_NOTICE: Q4 P8 W! }' A3 D, J+ y% G Z; q
2 E- U5 I# `3 n0 [
问题得到解决。
3 [1 B* I0 K5 N; f( E, l/ S( C
& A' w0 O6 I) _, R: q; e7 D9 k: t2 ~
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
, }+ q ?# L6 H) ~) C, W% |php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
* Y3 S( o/ M8 ~$ V改为 :% g4 i$ a- H9 z( R$ [
$extsub=explode('.', $tmp);$tmp=end($extsub);
+ P/ E+ V7 P" [( M# j9 M Z$ s) [$ s
|
|