CentOS 7.3编译安装PHP7

在linux环境下php的安装有很多LNAMP一键安装包,可以自动编译安装好完整的环境,这篇文章主要介绍的是手动编译安装PHP7的方法。

依赖环境

php本身是c和c++编写的程序,想要正确运行和编译安装php我们是需要php基础依赖的。所以我们在centos当中打开terminal输入:

sudo yum install gcc gcc-c++ libxml2-devel

上面这条命令是通过yum安装c和c++的语言环境,后面libxml2-devel是一个C语言操作xml的库,这样PHP也就可以操作xml了。以上三个软件都是PHP必须的依赖。centos7.3版本当中c和c++默认都是安装好的。

下载PHP

这里我们想要通过wget通过PHP源码的镜像链接来下载PHP如果centos里没有wget我们需要安装一下:

sudo yum install wget

登陆PHP下载的网址 http://php.net/downloads.php

找到对应的镜像,右键复制链接地址这里下载的镜像是PHP7 http://cn2.php.net/get/php-7.1.0.tar.gz/from/this/mirror

最后通过wget下载这个地址里解析出来的文件就可以了。

wget http://cn2.php.net/get/php-7.1.0.tar.gz/from/this/mirror

下载好以后,我们输入:

ls

可以在目录里面看到一个mirror文件,这里面就包含我们刚刚下载的PHP源码了。

注意:如果你用windows下载这个文件的话,文件会保存成名字为php-7.1.0.tar.gz。因为windows需要根据文件的后缀名来判断这个文件使用什么样的应用程序打开,但是在linux这就是无所谓的事情了,即便文件的名字的变成了mirror我们仍然可以使用tar软件来解压这个文件。这是linux和windows的一个小差异。

解压

我们在当前目录输入:

tar -zvxf mirror

centos就会将我们刚刚下载的PHP7解压到当前目录。ls查看我们会看到一个php7的文件夹。

配置

在安装之前我们需要配置一下编译时候的参数。这里需要用到configure脚本命令。

configure命令是为了方便编译安装设置所使用的命令,linux大部分编译安装的软件可能都会用到这个命令,大家可以想象windows下安装软件我们要一直点下一步下一步,每一个窗口都要设置一些参数,比如如何安装,文件安装到什么地方。

configure命令就是做这些事情的,相对的它更加强大一些。编译安装PHP的过程当中我们需要使用configure命令配置安装路径以及开启fpm。 cd到php7源码的根目录下

./configure --prefix=/usr/local/php7 --enable-fpm

configure命令后面的参数--prefix的意思是指定软件安装的目录,linux用户自己安装的软件一般放到/usr/local/目录当中,这只是一件约定成俗的事情,你也可以将软件编译安装到你想放的位置。

后面的 --enable-fpm是开启PHP-fpm功能的一个参数,使用nginx的时候我们会用到这个功能,所以在别的文章里再介绍它。

编译

还是要在PHP7源码的根目录下我们使用make进行编译

make

然后等系统自动编译就行了,这个要等好一会。编译完成会显示complete字样。

这里说说make,make是GUN提供的一种方便编译C语言的工具,如果没有可以通过

sudo yum install make

来安装。

安装

还是在PHP7源码根目录当中

sudo make install

之后系统会将PHP安装在之前configure配置的目录当中。

测试

我们创建一个test.php文件用于测试我们的PHP是否安装成功并且可以使用。

vim test.php

test.php当中的代码

phpinfo();

然后用PHP执行这个文件

/usr/local/php7/bin/php test.php

/usr/local/php7/bin/php是为了定位PHP程序的位置,如果你在安装结束以后配置了PHP的环境变量,可以直接使用PHP test.php来运行PHP文件。

如果出现一堆PHP7环境变量的提示就说明PHP安装成功了。

总结

在linux环境下编译安装PHP的时候没什么技术难点,本质上和其他编译安装的软件流程基本是一样的。注意该开启的参数开启比如fpm。否则又要重新编译安装这样就很麻烦了。

联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2024

备案号:京ICP备15003423号-3