不重新编译PHP为PHP安装zlib扩展-学习收集

转载 2016年08月29日 11:33:05

一台服务器,编译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扩展已经顺利的安装成功了。

Linux下php安装zlib扩展

1. 下载安装zlib http://www.gzip.org/zlib/ 解压tar包,进入目录执行命令: 1 ./configure && ma...
  • sinprog
  • sinprog
  • 2015年06月01日 23:54
  • 2851

linux服务器安装PHP扩展[zip,zlib]

首先Linux服务器已安装好PHP PHP各个版本下载地址:http://php.net/releases/ 以我使用的5.4.45为例,我将下载的压缩包放到/root/Downloads/目录下 解...
  • slyjit
  • slyjit
  • 2017年06月01日 15:41
  • 1018

PHP 安装扩展步骤

一般来说php安装扩展需要几下几个步骤1.下载扩展包   比如  pdo_mysql.tar.gz (如果不想下载,可以到php安装目录,(类似php-5.3.3/ext/)的ext文件中找一下,如果...

不重新编译PHP为PHP安装zlib扩展

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

php编译安装与配置

php编译安装与配置   ===========================================   官网:http://php.net/   官网下载:http://php.net/...

Linux 下编译安装 PHP 5.6

系统环境: CentOS 6.5 / 7.0 x86_64Fedora 20 x86_64 下载 PHP 源码包 # wget http://cn2.php.net/distributions/p...
  • warthur
  • warthur
  • 2016年04月17日 19:57
  • 11680

重新编译php支持freetype

本地的GD库不支持freetype,编译扩展没用,只好重新编译Php了 进入php源码 执行: ./configure --prefix=/usr/local/php --enable-fpm ...

关于php.ini开启zlib压缩输出导致乱码的问题

关于php.ini开启zlib压缩输出导致输出乱码的问题

PHP编译选项

PHP安装./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/us...

在编译好的PHP环境中安装PHP扩展模块

1、先进入php解压缩后的源码包中,找到要安装的扩展模块的目录。(本例是安装sockets扩展模块) [xuexiaoxu@192 php-5.4.8]$ cd /home/xuexiaoxu/so...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:不重新编译PHP为PHP安装zlib扩展-学习收集
举报原因:
原因补充:

(最多只允许输入30个字)