|
|
7 I8 x; L: P% }) Z$ l 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 错误
( H `3 b8 @. n, j$ ? 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:8 N) {5 e( o1 O% r
1)将function gd_version()改成static function gd_version()即可。
4 ~5 ~3 E8 I. o# A7 w; j. ? 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:; k0 l9 I7 I- U1 j0 w
$p = new cls_image();
2 N5 Q5 A$ F, j; hreturn $p->gd_version();* t3 f4 m+ E% ?$ c' b
& M% e, Q' w1 D; v, F* v5 M* P
, B& n* j- v+ E; j' i9 V* ?下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:% p+ W. k6 F8 S% b# w/ l0 f' D- v
安装进程已中止. {0 v* c0 ~4 X7 @
创建配置文件............成功
# `1 Q! l$ h3 h. T' m; z1 C% X创建数据库............成功- B! e7 |% K' {/ U
安装数据............成功7 w- K& |6 L7 |" j) L/ Z
创建管理员帐号............成功
1 N9 E6 u `5 B+ F! u% l处理其它............失败
" [3 D; Z3 M, G2 Z3 F/ |8 h* C; E3 D. D/ a+ ]# g
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
: g7 w: F0 W! t0 U* q% \无法创建目录,无法创建目录9 t1 ]4 E- O5 ^7 H& ]
解决方法如下:7 C1 b8 R( D0 _8 }- F
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
% I8 J- v1 ]1 K, H, {5 s7 }5 w# ](选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
$ X$ O% [. f" c& h. z不安装测试数据库一样可用,一样正常,不是问题.....7 D+ s$ k3 M5 n
愿看到此文章的朋友能解决问题; : d8 b* l! {6 k6 \4 \
: Z8 [5 @+ |3 o& ~% {" N7 [! B; B. q. w( M
ecshop如何解决includes\cls_template.php on line 418错误
, S( f3 C# |/ e7 ?: k- L4 z) h* T( V
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
* v) D6 O/ I0 J! A# _Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4183 }: X2 q. t/ O- q/ u* @% T0 m
第418行:$tag_sel = array_shift(explode(' ', $tag));
4 e8 m5 O% x! s * l4 P8 }: O; u
解决办法 1:
: y# r, P, q) |1 B5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: ( e, G. Z$ Z! I0 R
# x4 s2 M& ~' ]* [2 n$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);4 N7 o( `+ v5 [) g) g# i
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
# r! D* n F* c同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决9 ^/ f5 K5 s0 [, z
6 j6 h# F( x$ q: \如:0 I; P& p6 C; `4 o% e+ Y
function get_dyna_libs($theme, $tmp)5 U8 I% v* V/ H2 B1 w
{- N) o2 `$ N* O4 z; n
$extsub = explode('.', $tmp);' q* s0 R& z m! N+ E
$ext = end($extsub);7 M/ v# p7 I; b
$tmp = basename($tmp,".$ext");
1 R9 Q# w o1 A. |9 S" S$sql = 'SELECT region, library, sort_order, id, number, type' .
! d" H- G- Y3 K+ s9 r6 C' FROM ' . $GLOBALS['ecs']->table('template') .
) Z2 N, D4 ]! W' H# ]" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
5 T+ l G' Q8 ]" o2 Z) z' p8 V. |' ORDER BY region, library, sort_order';
. E& Z' Y+ j7 O. y5 V& q- Z$res = $GLOBALS['db']->getAll($sql);
7 u5 A, r& m3 Z0 e/ V4 ^- p* ]$ a$dyna_libs = array();
6 m/ i1 c& M4 C7 _- b! V6 gforeach ($res AS $row)
/ K' G, g, W. F- w{1 r: o: Z* H- i/ k) F. A
$dyna_libs[$row['region']][$row['library']][] = array(& R% O" o7 L% L: N
'id' => $row['id'],
& X' U( v# Z! t5 d. A7 i'number' => $row['number'],
1 C6 m6 T2 A/ W: @+ {$ I+ |) t'type' => $row['type']
- Y2 ?2 _, E( M$ f" N g: N3 [. P, });; q5 H# T# @4 K$ I2 H, S
}
8 N _) E& J0 ?return $dyna_libs;
% |* m- O! x/ d8 @3 L7 y, i}
. ~1 H0 R, ^: Q+ P
& y" r% {: g4 O1 k; D' G将$ext = end(explode('.', $tmp));
, @9 O7 ^, x( o/ F7 n改为* i& n; Z3 u p
$extsub = explode('.', $tmp);* g3 {; o; j) G: o2 ~- O
$ext = end($extsub);
# L- q Y+ I% q) e' c! {: w1 o) T+ n
4 Q1 i$ V3 p F! Q解决办法 2(屏蔽错误) :
% a4 i& o3 s0 X+ u
% S6 z3 O# t$ @或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
, \* i5 U% U* q& C: Xphp.ini中有如下设置:7 C$ p* e1 c# ?) W, B
error_reporting = E_ALL | E_STRICT5 O$ E: `0 Y; y' N; H, \. |; |0 _& T
: Q' @: ?; ^. M* _" K1 ~( N8 Q/ P* d: [
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
( G# a9 E" l. q% A8 w- A. f$ L2 d. `Joomla其实是建议取消error的输出,如果出于调试需要,应改为7 Q& _' k) x6 p+ Q, w
error_reporting = E_ALL & ~E_NOTICE& {( a0 N5 |, ?) W. ^
7 P& l$ K& |- i: B8 l( ^5 Q9 G* E, m
问题得到解决。
W( R7 O0 h1 d- n, `& v. Q9 U+ ^5 v
% n9 m- d* W6 B- |8 a% W! T$ u
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
- `6 l) P/ H6 t% Bphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));- q% J: L* S m7 I+ F% p
改为 :
3 V; U2 A& c' K" A2 P" }$extsub=explode('.', $tmp);$tmp=end($extsub);$ ]: R) e0 u9 ?. L" F0 P
. O; j# j! B. [3 @- o& q- t' U, m
|
|