不重新编译PHP为PHP安装zlib扩展-学习收集
2016-08-29 11:33
573 查看
一台服务器,编译PHP时未设置参数,导致缺少zlib扩展,无法执行解压缩,错误信息是:“Fatal error: Call to undefined function gzopen”。
首先找到当初编译PHP时的目录,如果没了就找一个相同版本的解压缩,解压缩到php(假设)目录下,然后以root身份进入php/ext/zlib/目录下
执行phpize,报错:“Cannot find config.m4.”,我找了半天没找到这个文件,但是看到一个类似的“config0.m4”,就cp了一个:
这个解决方法有点山寨,我也不知道啥意思,为什么多了一个0,反正亲自测了能行。
再执行phpize,又报错:“Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.”
原来是autoconf不存在,通过yum安装:
再执行phpize,嗯,再敢报错看我不打断你的狗腿!!这次顺利的执行完了。
在这个目录就生成了一个configure脚本,再执行以下代码获得php-config脚本的位置备用:
再执行以下代码获得zlib的位置备用:
都准备好之后就开始执行配置
注意:--with-zlib=/usr这里不需要把文件目录写全,写到这里就行了,PHP的扩展在编译时都是这个德性,习惯就好了。
然后就是正式的编译和安装了:
顺利的话,最终会提示:
然后在php.ini的最后增加这么一句:
再重启php的CGI或者FastCGI或者php-fpm就可以了,具体重启什么要看服务器通过什么方式运行的PHP。
一切顺利的话,在phpinfo中就可以看到zlib的信息了,这就证明PHP的zlib扩展已经顺利的安装成功了。
首先找到当初编译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扩展已经顺利的安装成功了。
相关文章推荐
- 不重新编译PHP为PHP安装zlib扩展-学习收集
- 不重新编译PHP为PHP安装zlib扩展
- 不重新编译PHP为PHP安装zlib扩展
- LAMP攻略之重新编译PHP安装扩展和GD库安装与配置
- 不重新编译PHP文件的情况下php GD库扩展库的编译安装(centos)
- 不重新编译PHP,安装ZLIB组件
- 不重新编译PHP文件的情况下php GD库扩展库的编译安装(centos)
- php不重新编译,安装未安装过的扩展,如curl扩展
- 不重新编译PHP文件的情况下php GD库扩展库的编译安装(centos)
- Php 不重新编译安装openssl 扩展
- 不重新编译php, 安装curl扩展
- CentOS 7.x,不重新编译 PHP,动态安装 imap 扩展
- php无需重新编译安装openssl扩展
- php不重新编译安装扩展模块
- linux下php快速升级 5.2.6(1)用yum(2)重新编译安装
- Debian服务器编译安装Memcached及PHP扩展
- 如何在编译好的PHP环境中安装PHP扩展模块
- LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)
- Linux 下 PHP 扩展 PDO 编译安装
- CentOS 编译安装 MongoDB与mongoDB的php扩展