|
|
0 G6 f" r2 c6 d 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 Z% g) a: X* F& d
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:& c' M2 Z, A( \" ]2 H) O
1)将function gd_version()改成static function gd_version()即可。
: d, i0 e1 A0 ^! z* V3 J 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
' ]% S' P4 t% v6 B6 z, Q7 A4 g5 J. |- U$p = new cls_image();
$ t5 k) C2 S- nreturn $p->gd_version();
+ P1 A$ n) p. r* b/ w0 Y5 V6 V( b* S, w7 w P; p
5 e* y' s0 B$ M" g下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:! Z v N2 g+ I
安装进程已中止
* G" m' ?# P* ?' a8 M! z$ p/ U创建配置文件............成功; j3 v* R# O4 A, r
创建数据库............成功
5 b/ Q$ z; F+ W, B5 A0 n6 P4 v安装数据............成功( p; M7 v8 w% E% M0 S
创建管理员帐号............成功
{4 x- z7 o7 H2 X [, ~9 D G处理其它............失败" @ o- E# j$ `9 |( u4 x# q$ ~
0 R+ U! R( _: D, ]8 n+ i
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5283 w* n7 |3 A0 ]& @5 b
无法创建目录,无法创建目录7 ?. B4 j3 O1 i4 s. ]
解决方法如下:
. D) `# a" X( d3 t8 o' i点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
! i A$ y" ?: d7 v" U2 y(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。, d% P5 L9 c1 i% h
不安装测试数据库一样可用,一样正常,不是问题.....' H4 l, h$ M! x9 v
愿看到此文章的朋友能解决问题;
# t$ N! _0 V, Y6 `3 a' x! L5 L! P7 Y8 s
4 l; u* `- ?* a9 i0 }+ Y" `8 Zecshop如何解决includes\cls_template.php on line 418错误
6 ?8 w2 {7 b- F9 g# N! ~9 g% g' `' Y- E9 ^
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
% ^9 B9 w9 H/ W' V4 l4 q$ ^Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
6 L( {/ r- c1 v; B* x+ X" {9 N第418行:$tag_sel = array_shift(explode(' ', $tag));
2 S0 [4 O" L: {3 p# y
H" j+ ?, k1 Y- l. w9 J- f; h! j$ {解决办法 1:
H; s/ p- q+ R+ D9 M$ g2 E7 l+ S5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 1 r; L7 S8 ?2 Y
$ e( h( [1 M# S; a2 t$ [! G8 Q$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);9 o1 q+ p8 N* o' v4 `* A
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
: o9 l- I. Z& f6 P9 [同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决- F+ F& U5 P* J3 y/ v) k4 |; L
, Q+ Z! W% ^# R如:* W4 g; p* p- v! G
function get_dyna_libs($theme, $tmp)7 V9 g7 _; D2 q& w
{# d) G' o: P! f2 t' F, F
$extsub = explode('.', $tmp);- h1 s( m: M, J5 T5 N
$ext = end($extsub);& o/ t0 h6 ~0 y8 Q1 Q
$tmp = basename($tmp,".$ext");
5 \, N' y- X. i2 ~8 y1 |( f) [$sql = 'SELECT region, library, sort_order, id, number, type' .
( C2 M+ Q; S% @ B. O' FROM ' . $GLOBALS['ecs']->table('template') .
; E8 `) p8 L$ G; i$ Y& s" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".: g1 g6 L/ B V6 f( z8 z
' ORDER BY region, library, sort_order';. A7 x. i( W' l$ C0 J" f
$res = $GLOBALS['db']->getAll($sql);# v& J+ ?7 `- t
$dyna_libs = array();
2 l6 ]0 x) h, m8 q. jforeach ($res AS $row), |+ v. A* i, u: E4 P. Y" {
{
) P, P5 w/ k' a# p2 r+ R$dyna_libs[$row['region']][$row['library']][] = array( J5 s$ n" |, R8 { s! W9 |/ U/ v: F
'id' => $row['id'],
$ G) m1 ?3 [% B2 [( r+ F5 d'number' => $row['number']," N% `/ K" C j! c
'type' => $row['type']9 |0 H- } S$ i" [- [
);. P2 p- n8 j1 Q7 J4 T
}
- u' l5 l' ~0 m9 U. d( e! F, @* dreturn $dyna_libs;8 D5 F) V6 L: j: C; `# H
}
: ]& M3 Y5 ]0 n1 O% b
) `3 n2 ?% H+ h1 {1 }将$ext = end(explode('.', $tmp));1 D/ a0 z/ U Y- a# q
改为
M0 l% C) j# F, l6 h$extsub = explode('.', $tmp);# {: l% f. o& G. h+ ]5 e
$ext = end($extsub);/ v$ k8 q% e3 M; }
& T4 M6 _1 e4 L4 C6 q解决办法 2(屏蔽错误) :
; n6 o5 f) m* O( d9 F # k6 r7 W, \5 ~# I7 C# t
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
8 t1 g( O8 n' S* _ o% fphp.ini中有如下设置:9 h* h" D& A. b5 G/ F
error_reporting = E_ALL | E_STRICT
# b8 W& { J% n4 F( W$ {+ N8 h ) @+ Y, m' X( F9 m
这是说,显示那些不符合编码规范的警告(coding standards warnings)。9 d! X+ ?+ W3 \. I. B
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
) I: h( J$ G7 f. P: {2 v* Herror_reporting = E_ALL & ~E_NOTICE3 q/ F* @; X8 G9 e# `- n
, a. f3 r( R2 @8 @( K, c2 }# s0 p问题得到解决。
* W; E# E6 F7 |. u7 k. a6 B0 h: B* ~' i! V; ]+ J$ B j0 a$ A
% W& [% @8 D e, C8 k3 |3 W
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
, m' G/ W0 Q2 q( w4 ~( Hphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));0 i% i: G+ j6 Z4 t
改为 :
# ^2 X: S* ^& f+ j5 `0 j& ^" a1 q$extsub=explode('.', $tmp);$tmp=end($extsub);8 ?6 O* @" `0 W* }$ s' H
1 \- H) |0 d; |9 L% j P |
|