共计 2083 个字符,预计需要花费 6 分钟才能阅读完成。
在 CentOS 7 下编译安装 PHP 5.6 过程记录。
1. 下载 PHP 安装包
wget http://php.net/distributions/php-5.6.31.tar.gz默认情况下 Nginx 和 PHP 他俩之间是一点感觉没有的。Apache+PHP 编译后生成的是模块文件,而 Nginx+PHP 需要 PHP 生成可执行文件才可以,所以要利用 fastcgi 技术来实现 Nginx 与 PHP 的整合,这个只要我们安装时启用 FastCGI 即可。此次我们安装 PHP 不仅使用了 FastCGI,而且还使用了 PHP-FPM 这么一个东东,PHP-FPM 说白了是一个管理 FastCGI 的一个管理器,它作为 PHP 的插件存在,在安装 PHP 时要想使用 PHP-FPM 就需要把 PHP-FPM 以补丁的形式安装到 PHP 中,而且 PHP 要与 PHP-FPM 版本一致,这是必须的,切记!
2. 解压安装
tar -zxvf php-5.6.31.tar.gzcd php-5.6.3./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-zlib-dir=/usr/local/zlib --with-mcrypt=/usr/local/libmcrypt --with-libxml-dir=/usr/local/libxml2/ --with-iconv-dir=/usr/local/libiconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring=all --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-ctype --enable-shared --with-gd在安装过程中报了下面的错误:

原来是没安装插件 gcc。
继续安装:
yum install gcc插件安装完毕后,我们继续安装 PHP

最后又报以下错误:

没安装 libxml2 插件,因为我的是新装的 centos 系统,所以里面会缺失各种依赖包,继续安装版 libxml2 插件:
yum install libxml2提示:

libxml2 已存在,可能 libxml2-dev 未安装,我们安装 libxml2-devel
yum install libxml2-devel安装好后我们继续安装 PHP,又提示:

我们安装 openssl 插件
yum install openssl openssl-devel安装完后我们继续执行 PHP 的安装,还报确实插件 liburl

安装 liburl
yum -y install curl-devel安装好后继续执行 PHP 的安装,报 GD 库未安装,我们继续安装 GD 库

yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y继续安装 PHP 报缺失插件 libmcrypt

centos 尝试用 yum 安装 libmcrypt 不成功,只能采用编译安装:
安装完后继续执行 PHP 的安装,这回终于提示安装成功:

3. 总结
编译安装个 PHP 不容易啊,总结一下:
安装 PHP 必须提前安装的依赖包有:gcc、libxml2、openssl、curl、libmcrypt,但每个人的环境不一样,可能还会有不同的插件缺失,大家可根据提示去逐一安装。
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-08/146095.htm






