You'blog

PHP7 installs zip extensions

2018-07-24

php7 安装zip扩展

最近在做一个项目用到了现在主流laravel框架,在用composer安装laravel框架的时候遇到了以下错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@ali-kapro-test-001 composer]# /home/pubsrv/php7/bin/php composer.phar global require "laravel/installer"
Changed current directory to /root/.config/composer
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Using version ^2.0 for laravel/installer
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- laravel/installer v2.0.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
- laravel/installer v2.0.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
- Installation request for laravel/installer ^2.0 -> satisfiable by laravel/installer[v2.0.0, v2.0.1].

To enable extensions, verify that they are enabled in your .ini files:
- /home/pubsrv/php7/etc/php.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Installation failed, deleting ./composer.json.

原来是没有安装php的zip扩展,接下来我们安装一下zip扩展,在安装zip扩展之前先要看看有没有安装libzip

1 首先升级一下cmake

1
2
3
4
5
6
[root@ali-kapro-test-001 ~]# wget https://cmake.org/files/v3.12/cmake-3.12.0.tar.gz
[root@ali-kapro-test-001 ~]# tar zxvf cmake-3.12.0.tar.gz
[root@ali-kapro-test-001 ~]# cd cmake-3.12.0
[root@ali-kapro-test-001 ~]# ./configure
[root@ali-kapro-test-001 ~]# make
[root@ali-kapro-test-001 ~]# make install

2 安装libzip

1
2
3
4
5
6
7
[root@ali-kapro-test-001 ~]# wget https://libzip.org/download/libzip-1.5.1.tar.gz
[root@ali-kapro-test-001 ~]# tar zxvf libzip-1.5.1.tar.gz
[root@ali-kapro-test-001 ~]# cd libzip-1.5.1
[root@ali-kapro-test-001 ~]# mkdir build
[root@ali-kapro-test-001 ~]# cmake ..
[root@ali-kapro-test-001 ~]# make
[root@ali-kapro-test-001 ~]# make install

这里特别说一下不知道为什么libzip.so.5总是报找不到文件,所以要做个软链 ln -s /usr/local/lib64/libzip.so.5 /usr/local/lib/libzip.so.5

3 安装zip

1
2
3
4
5
6
7
[root@ali-kapro-test-001 ~]# wget http://pecl.php.net/get/zip-1.15.3.tgz
[root@ali-kapro-test-001 ~]# tar zxvf zip-1.15.3.tgz
[root@ali-kapro-test-001 ~]# cd zip-1.15.3
[root@ali-kapro-test-001 ~]# /home/pubsrv/php7/bin/phpize
[root@ali-kapro-test-001 ~]# ./configure --with-php-config=/home/pubsrv/php7/bin/php-config
[root@ali-kapro-test-001 ~]# make
[root@ali-kapro-test-001 ~]# make install

4 修改php.ini

在php.ini 最后面添上如下代码

1
2
[zip]
extension=zip.so
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章