centos安装PHP的zlib扩展

一台服务器,编译PHP时未设置参数,导致缺少zlib扩展,无法执行解压缩,错误信息是:“Fatal error: Call to undefined function gzopen”。

首先找到当初编译PHP时的目录,如果没了就找一个相同版本的解压缩,解压缩到php(假设)目录下,然后以root身份进入php/ext/zlib/目录下

执行phpize,报错:“Cannot find config.m4.”,我找了半天没找到这个文件,但是看到一个类似的“config0.m4”,就cp了一个:

cp config0.m4 config.m4

这个解决方法有点山寨,我也不知道啥意思,为什么多了一个0,反正亲自测了能行。

再执行phpize,又报错:“Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.”

原来是autoconf不存在,通过yum安装:

yum -y install autoconf

再执行phpize,嗯,再敢报错看我不打断你的狗腿!!这次顺利的执行完了。

# phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525

在这个目录就生成了一个configure脚本,再执行以下代码获得php-config脚本的位置备用:

# which php-config
/usr/local/bin/php-config(你的电脑上未必是这个结果)

再执行以下代码获得zlib的位置备用:

# find / -name zlib.h
/usr/include/zlib.h

都准备好之后就开始执行配置

./configure --with-php-config=/usr/local/bin/php-config --with-zlib=/usr

注意:--with-zlib=/usr这里不需要把文件目录写全,写到这里就行了,PHP的扩展在编译时都是这个德性,习惯就好了。

然后就是正式的编译和安装了:

make && make install

顺利的话,最终会提示:

Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20100525/

然后在php.ini的最后增加这么一句:

extension=zlib.so

再重启php的CGI或者FastCGI或者php-fpm就可以了,具体重启什么要看服务器通过什么方式运行的PHP。

一切顺利的话,在phpinfo中就可以看到zlib的信息了,这就证明PHP的zlib扩展已经顺利的安装成功了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是CentOS 7安装PHP的两种方法: 1. 通过yum安装 ```shell # 安装epel-release仓库 yum install epel-release -y # 安装remi仓库 yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y # 安装PHP7.4 yum install php74 -y # 安装常用扩展 yum install php74-php-mysqlnd php74-php-gd php74-php-xml php74-php-mbstring -y # 启动PHP-FPM服务 systemctl start php74-php-fpm.service # 设置开机自启动 systemctl enable php74-php-fpm.service ``` 2. 编译安装 ```shell # 安装编译PHP所需的依赖 yum install -y gcc gcc-c++ make autoconf libtool-ltdl-devel \ libxml2-devel libjpeg-devel libpng-devel freetype-devel \ openssl-devel curl-devel libxslt-devel libmcrypt-devel \ bzip2-devel readline-devel libedit-devel # 下载PHP源码包 wget https://www.php.net/distributions/php-7.4.30.tar.gz # 解压源码包 tar -zxvf php-7.4.30.tar.gz # 进入解压后的目录 cd php-7.4.30 # 配置编译参数 ./configure --prefix=/data/server/php \ --with-config-file-path=/data/server/php/lib \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-iconv-dir \ --with-freetype \ --with-jpeg \ --with-png \ --with-zlib \ --with-libxml-dir \ --enable-simplexml \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-soap \ --enable-zip \ --with-curl \ --enable-mbstring \ --with-openssl \ --with-mhash \ --enable-opcache \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-maintainer-zts \ --with-readline \ --with-libedit # 编译并安装 make && make install # 复制php.ini文件 cp php.ini-production /data/server/php/lib/php.ini # 启动PHP-FPM服务 /data/server/php/sbin/php-fpm # 设置开机自启动 echo "/data/server/php/sbin/php-fpm" >> /etc/rc.local chmod +x /etc/rc.local ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值