Linux服务器解决后台上传插件提示不支持ZIP模块-ZipArchive扩展-站长杂谈下载

Linux服务器解决后台上传插件提示不支持ZIP模块-ZipArchive扩展

开通本站Svip会员,全站资源免费下
由于受不了IIS的各种蛋疼,上周无聊的时候把服务器全盘打包然后重装了centos系统,配置好apache和mysql、ftp等等必要环境之后,我在给自己博客音乐播放器改成插件版的时候,突然发现我的Web环境竟然不支持ZIP模块。具体表现为不允许上传zip包在线解压安装:
: G7 V! C+ B# u, v 043920k2hbfvbkhstvicfx.jpg . ?. z/ b3 g6 N+ N( f- p# ?7 Q
我和我的小伙伴们都惊呆了,百度搜了一下,根本不知道是到底少了什么模块,后来找了好久才知道这个缺少的关键模块叫:ZipArchive
8 P& M# K! }- X7 o! ^; M好吧,既然缺少这个功能那我们装上就好了,具体步骤为:
! U9 O+ G5 B: s) n获取到zip包
: s6 M, ^7 I. c" A3 b. d: K& _wget 链接: http://pan.baidu.com/s/1qW86SY4 密码: xyw3& @) E% p4 C8 M4 P( f5 y
由于我的centos版本很老,php版本是5.2.17,所以我wget 链接: http://pan.baidu.com/s/1o61jzSI 密码: kss7 老版本的7 Q4 O: i  N3 z0 K
当然你也可以wget 链接: http://pan.baidu.com/s/1Ddmnc 密码: rnrg
  \( |( M; h& \8 a解压zip包并进入6 r# Z& ?0 {' w$ A: `1 K0 d1 b
tar -zxvf zip-1.8.3.tgz
5 ]; s$ F5 B$ s1 p- ~& S" [cd zip-1.8.3
( ]# J% j3 {( C8 r这是一个条命令如果提示没有的话可以通过,yum install php-devel方式安装 然后执行5 Y3 D4 Q) V# K( Z  m7 x, M
phpize
& u- u( c" R8 W这时候需要获取到本机php-config的位置,方法也很简单可以通过phpinfo()函数得到php的安装信息
+ d" i8 O0 \) ~2 h: I也可以直接在终端输入:find / -name php-config
# f/ G5 K( X* N" Z, Q你也许会找到好几个,但是根据自己的安装情况找到对应的目录。( _& G4 h: Z2 M, r. V5 F' @
比如我的目录是:/usr/bin/php-config$ ]! V0 j6 [, l( @
之后就是简单的编译,安装。注意:configure不加参数会出错  G8 d' V& w* T( @, e* ^
找到路径之后输入
8 s6 E" k" v5 l  V+ N! h: `./configure --with-php-config=/usr/bin/php-config
; e& b4 e+ F9 q9 v4 [(后面的/usr/bin/php-config路径改成自己的)
. t! u$ `  o% ?$ m如果报错就安装yum -y install zlib-devel,也有可能让你装yum install pcre-deve,最有可能的是让你装yum -y install gcc
9 [; |" b$ x- K9 w* `配置完./configure之后直接7 d0 \; b5 q. q, ~2 C3 d6 Z% \. F
make- h) R/ N" z) h1 q$ N3 }* y2 y
编译,然后
4 g; Q  V4 t* X* I3 {8 rmake install
" l0 j! p4 k% J' \安装一下
; G1 ~$ `3 K/ ~) Q/ R( y" e4 ]& ?$ m注意make install之后会出现一个zip.so保存的路径,这个路径要添加到php.ini里。
7 c& g. c! v( [* e比如我的是:
3 W& W' j4 n: o( Z
043921vltsjvo02k9t2970.jpg
找到你的php.ini文件位置同样可以通过find / -name php.ini也可以通过phpinfo();得到php.ini的位置...9 `* s# y4 J. c5 g
我的是在etc/php.ini5 q' `: c2 D4 O0 K7 Y, r- W. ~
做三项修改,将extension_dir的目录指向你文件生成的目录,注意如果已经之指定过目录,make install时应该会装进去的,但是还是建议将zip.so复制到已经指定过的的目录历,没指定就跳过。
  w* W8 o- p0 P0 ], K$ L5 _$ j8 g设置php.ini新增:' X& \- o' H' B* e6 b% R% x
extension=zip.so% Q/ E8 f5 y% O! S" J2 b
检查:
% J; Q9 T) p; S. [+ m6 n$ textension_dir = /usr/lib64/php/modules/
, T$ J* ~/ ~% F$ q9 ^然后重启apache,输入php-m检查有没有zip组件支持。如果提示这个错误:( h: z5 ], G+ k; W
043920h75s71sii0s5i207.jpg
很遗憾的告诉你,你需要换另一个版本的ZipArchive来尝试。比如我5.2.17装了最新的1.12版本的就报错,装1.10的就伪静态失效等等各种毛病。1.8完美。1 e9 B8 y4 U# o$ ]/ K
043921eftpn3hp1hn4vz1l.jpg
' }9 R9 I# W  I4 Z6 S

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部