CentOS 7 编译安装PHP 5.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 .gz
cd  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不成功,只能采用编译安装:

#使用wget可以通过以下路径下载 
wget  ftp : //mcrypt .hellug.gr /pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2 .5.7. tar .gz 
    
#解压 
tar  -zxvf libmcrypt-2.5.7. tar .gz 
    
#进入目录 
cd  libmcrypt-2.5.7 
    
#编译(默认安装到/usr/local/lib/) 
. /configure  --prefix= /usr/local/libmcrypt 
    
#执行安装 
make  &&  make  install 

 安装完后继续执行PHP的安装,这回终于提示安装成功:

3.总结

编译安装个PHP不容易啊,总结一下:

安装PHP必须提前安装的依赖包有:gcc、libxml2、openssl、curl、libmcrypt,但每个人的环境不一样,可能还会有不同的插件缺失,大家可根据提示去逐一安装。


make install 后配置

注意检查安装目录etc下的配置文件是否包含php-fpm.conf.default



安装完毕之后,我们需要将配置文件从源文件中copy到安装目录下,在这里选择的是php.ini-production
cp/usr/local/src/php-5.6.14/php.ini-production/usr/local/php/etc/php.ini
然后再将安装目录etc下的php-fpm.conf.default复制一份到该目录下,重命名为php-fpm.conf
cp/usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf
然后再将php的服务copy到/etc/init.d下,需要到源文件的/sapi目录中去找:
将它copy到/etc/init.d并且命名为php-fpm

使用以下命令:
cp /usr/local/src/php-5.6.14/sapi/fpm/init.d.php-fpm/etc/init.d/php-fpm

配置文件复制完毕之后,我们需要修改php.ini中的以下配置项
max_execution_time = 300
post_max_size =16M 
max_input_time = 300 
date.timezone =Asia/Shanghai
always_populate_raw_post_data =-1

然后启动php-fpm的服务
service php-fpm start

将php的命令添加到环境变量中:
vi  ~/.bash_profile
修改PATH为:
PATH=$PATH:$HOME/bin:/usr/local/php/bin
修改完成之后,保存,执行以下命令让环境变量生效:
. ~/ .bash_profile

这个时候可以通过
php -v
查询当前的php版本,出现以下内容表明安装成功:
PHP 5.6.14 (cli) (built: Nov 11 201515:02:11) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 ZendTechnologies


猜你喜欢

转载自blog.csdn.net/yangyang_01/article/details/78838411