在CentOS 7系统中,通过【宝塔Linux】安装了PHP7.4,运行业务系统时,报错:
|---|------------------------------------------------------------------------------|
| 1 | it is missing from your system. Install or ``enable
PHP's zip extension.
|
提示需要php的zip扩展,但是在后台面板中,又没有找到zip扩展,不然的话,可以直接点击安装:
其实在PHP安装包下面,已经有了这个扩展,进入目录,直接安装:
1、提前建立好常用的软链接:
|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 | rm
-rf ``/usr/local/bin/php
rm
-rf ``/usr/local/bin/phpize
rm
-rf ``/usr/local/bin/php-config
rm
-rf ``/usr/local/bin/composer
ln
-sf ``/www/server/php/74/bin/php
/usr/local/bin/php
ln
-sf ``/www/server/php/74/bin/phpize
/usr/local/bin/phpize
ln
-sf ``/www/server/php/74/bin/php-config
/usr/local/bin/php-config
ln
-sf ``/www/server/php/74/bin/composer
/usr/local/bin/composer
|
2、进入PHP源码目录的ext文件夹,安装zip扩展
|-----|-------------------------------------------------------|
| 1 2 | cd
/www/server/php/74/src/ext/zip
.``/configure
|
报错:
|----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 | checking ``for
zip archive ``read``/write
support... ``yes``, shared
checking ``for
libzip >= 0.11... no
configure: error: Package requirements (libzip >= 0.11) were not met:
Requested ``'libzip >= 0.11'
but version of libzip is 0.10.1
Consider adjusting the PKG_CONFIG_PATH environment variable ``if
you
installed software ``in
a non-standard prefix.
Alternatively, you may ``set
the environment variables LIBZIP_CFLAGS
and LIBZIP_LIBS to avoid the need to call pkg-config.
See the pkg-config ``man
page ``for
more
details.
|
3、按照提示,升级 libzip
先删除原有的libzip
|---|------------------------|
| 1 | yum remove -y libzip
|
下载并手动编译安装, 自己下载到合适的位置
|---|--------------------------------------------------------------|
| 1 | wget https:``//nih``.at``/libzip/libzip-1``.2.0.``tar``.gz
|
解压
|---|---------------------------------------|
| 1 | tar
-zxvf libzip-1.2.0.``tar``.gz
|
进入到源码目录
|---|---------------------|
| 1 | cd
libzip-1.2.0
|
配置
|---|-----------------|
| 1 | .``/configure
|
编译并安装
|---|------------------------|
| 1 | make && make install
|
更新依赖路径,CentOS版本小于8的,一定要执行下面这个命令,不然还是找不到 libzip
|---|----------------------------------------------------------|
| 1 | export
PKG_CONFIG_PATH=``"/usr/local/lib/pkgconfig/"
|
重新编译 php zip扩展
|-------|------------------------------------------------------------------------------------|
| 1 2 3 | cd
/www/server/php/74/src/ext/zip
.``/configure
make
&& ``make
install
|
编译正常
在 php.ini 中,配置扩展
|---|------------------------------------------|
| 1 | vim ``/www/server/php/74/etc/php``.ini
|
增加配置:
|---|-----------------|
| 1 | extension=zip
|
重启php-fpm
(可以到 宝塔后台去重启)