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

来自版块 站长杂谈
36372
0
温馨提示:如下载链接失效,请前往 问题反馈专用帖 进行反馈! 兔源码交流群:493651246

由于受不了IIS的各种蛋疼,上周无聊的时候把服务器全盘打包然后重装了centos系统,配置好apache和mysql、ftp等等必要环境之后,我在给自己博客音乐播放器改成插件版的时候,突然发现我的Web环境竟然不支持ZIP模块。具体表现为不允许上传zip包在线解压安装:
* [$ P' ^) F: C; A  y6 I2 c8 C" ]) U 043920k2hbfvbkhstvicfx.jpg
3 Q( y* q( Z! v, X3 y; E. T8 G我和我的小伙伴们都惊呆了,百度搜了一下,根本不知道是到底少了什么模块,后来找了好久才知道这个缺少的关键模块叫:ZipArchive
. s7 d/ v) q2 B; F好吧,既然缺少这个功能那我们装上就好了,具体步骤为:6 f2 H2 H) c) O+ t( g5 W1 q! u
获取到zip包
- I# n. j, c; J0 F  v) {wget 链接: http://pan.baidu.com/s/1qW86SY4 密码: xyw3
) E& q! R9 k/ B: p* `, R7 S由于我的centos版本很老,php版本是5.2.17,所以我wget 链接: http://pan.baidu.com/s/1o61jzSI 密码: kss7 老版本的$ k! ?; i6 W" }7 w! j
当然你也可以wget 链接: http://pan.baidu.com/s/1Ddmnc 密码: rnrg, r7 D8 l9 `& }1 t4 x0 v3 {
解压zip包并进入
9 {- u; p6 ~  n) H& z9 q& p' Jtar -zxvf zip-1.8.3.tgz9 x) D, u. k; A0 ?
cd zip-1.8.3! W% E. t3 {3 {- M0 M" W
这是一个条命令如果提示没有的话可以通过,yum install php-devel方式安装 然后执行, K" f/ w7 K  N0 A1 R. x/ Z5 e
phpize
- F3 h  P9 n0 ]& |6 |8 i这时候需要获取到本机php-config的位置,方法也很简单可以通过phpinfo()函数得到php的安装信息
, m( C7 V" w; u也可以直接在终端输入:find / -name php-config; f6 g$ d+ Q) j  z0 ]. I
你也许会找到好几个,但是根据自己的安装情况找到对应的目录。
% E, g7 }8 [0 _/ U. i比如我的目录是:/usr/bin/php-config2 t; {5 \0 L% I# W4 ?- y
之后就是简单的编译,安装。注意:configure不加参数会出错5 i2 v9 o& z. {& X* P
找到路径之后输入$ D: D6 g) Z: k* z* j, {) v
./configure --with-php-config=/usr/bin/php-config$ e$ E# O5 R) O1 _- v# b
(后面的/usr/bin/php-config路径改成自己的)
% M, t4 I5 a. D8 J如果报错就安装yum -y install zlib-devel,也有可能让你装yum install pcre-deve,最有可能的是让你装yum -y install gcc9 C0 I3 w+ y; E- c  @
配置完./configure之后直接4 a6 G1 G( k! v3 D- }
make. W) ^" H9 h, g# C9 K8 n
编译,然后/ w9 E/ o* D9 i6 ^  T' E
make install1 q# r5 X# l9 K: Y
安装一下- ^: b! v. i5 p! N' h0 W
注意make install之后会出现一个zip.so保存的路径,这个路径要添加到php.ini里。
) ~/ N3 y+ G" E# g4 l' ?比如我的是:" @' i% d- G9 @2 B+ q: K
043921vltsjvo02k9t2970.jpg
找到你的php.ini文件位置同样可以通过find / -name php.ini也可以通过phpinfo();得到php.ini的位置.... z2 [9 h4 i2 {
我的是在etc/php.ini
9 A9 s+ J4 I# c9 j5 F4 ?8 Q- A做三项修改,将extension_dir的目录指向你文件生成的目录,注意如果已经之指定过目录,make install时应该会装进去的,但是还是建议将zip.so复制到已经指定过的的目录历,没指定就跳过。
- w7 T$ J- C6 ~! `设置php.ini新增:
* P0 [5 V9 M! F1 s4 m6 sextension=zip.so
+ j# z) S( g: O' W检查:
& z- J6 P) Y. r2 uextension_dir = /usr/lib64/php/modules/
' j) h4 s8 d- Y0 [3 f. ]然后重启apache,输入php-m检查有没有zip组件支持。如果提示这个错误:
/ u( I, D/ e6 {: d1 ^, T- e( Y$ F
043920h75s71sii0s5i207.jpg
很遗憾的告诉你,你需要换另一个版本的ZipArchive来尝试。比如我5.2.17装了最新的1.12版本的就报错,装1.10的就伪静态失效等等各种毛病。1.8完美。( ^8 d  M# k- D, v* r% o) I
043921eftpn3hp1hn4vz1l.jpg
# x3 S9 {% t0 p3 j$ x

全部评论 0

您需要登录后才可以回帖 立即登录
输入你要评论的内容......
0
0
0
返回顶部