Linux下安装PHP

一、 安装环境&软件
1、环境:CentOS-7-x86_64虚拟机
2、软件:php-7.2.1.tar.gz
二、 获取php
1、方式一:打开浏览器进入php的官网,链接如下
http://cn2.php.net/downloads.php
Linux下安装PHP

Linux下安装PHP

2、方式二:远程连接到Linux系统,进入/usr/local/src目录下通过wget命令进行下载
# cd /usr/local/src
# wget http://cn2.php.net/get/php-7.2.1.tar.gz/from/this/mirror

三、安装步骤
1、解压
# cd /usr/local/src
# tar -zxvf php-7.2.1.tar.gz

2、安装php的依赖包
由于php安装的依赖比较多,这里不在罗列,给出所有常用的依赖包进行安装
# yum -y install wget vim vim-enhanced lrzsz cmake gcc gcc-c++ pcre pcre-devel libtool libtool-ltdl bison ntp libevent-devel openssl* autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel libcurl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers make gd gd2 gd-devel gd2-devel libxslt libxslt-devel libaio libaio-devel mhash libmcrypt mcrypt freetype freetype-devel net-snmp-devel mysql-devel php-bcmath php-mbstring

3、配置php
./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –enable-fpm –with-pdo-mysql=mysqlnd –with-mysqli=mysqlnd –with-mysql=mysqlnd –with-iconv-dir –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –disable-rpath –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –enable-mbregex –enable-mbstring –enable-ftp –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –disable-fileinfo –enable-maintainer-zts –with-libdir=lib64

4、编译安装
# make
# make install
安装结果摘要信息如下图:
Linux下安装PHP

四、配置php
1、复制php配置文件到安装目录,php.ini是php运行核心配置文件
# cp php.ini-production /usr/local/php/etc/php.ini
删除系统自带配置文件
# rm -rf /etc/php.ini
添加软连接到etc目录
# ln -s /usr/local/php/etc/php.ini /etc/php.ini
修改php.ini文件中cgi.fix_pathinfo配置项,这一项默认被注释并且值为1,根据官方文档的说明,这里为了当文件不存在时,阻止Nginx将请求发送到后端的PHP-FPM模块,从而避免恶意脚本注入的攻击,所以此项应该去掉注释并设置为0
# vim /usr/local/php/etc/php.ini
cgi.fix_pathinfo = 0
保存退出

2、复制php-fpm.conf,php-fpm.conf是php-fpm进程服务的配置文件
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
添加软连接到 /etc目录
# ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf

3、设置管理php服务,复制php-fpm到启动目录
#cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
添加执行权限
# chmod +x /etc/init.d/php-fpm
设置开机启动
# chkconfig php-fpm on

4、设置环境变量
# vim /etc/profile
在最后一行添加
export PHP_HOME=/usr/local/php
export PATH=PHPHOME/bin:PATH
保存退出,使配置文件生效
# source /etc/profile

五、测试、启动php
1、测试php配置
# /usr/local/php/sbin/php-fpm -t
打印出如下文字说明php测试成功
NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful

2、启动php
# service php-fpm start
打印出如下文字说明php安装成功:
Starting php-fpm done

3、查看php进程:
# ps aux | grep -c php-fpm

4、关闭php服务:
# service php-fpm stop

六、配置nginx和php
1、修改nginx的配置
# vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.html index.htm index.php;
}
在配置php请求被转发到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:
Linux下安装PHP
保存退出
2、编写测试的php脚本
在nginx的html目录下创建test.php
# cd /usr/local/nginx/html
# vim test.php
输入以下内容,就是打印php的信息
Linux下安装PHP

3、启动nginx和php
# cd /usr/local/nginx/sbin
# ./nginx
# service php-fpm start

4、测试配置
打开浏览器输入http://IP/test.php
出现如下界面说明配置成功:
Linux下安装PHP