1. 安装php依赖包

  yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

  若提示yum中没有可用的软件包libmcrypt和libmcrypt-devel,则需要手动编译安装,可以先在windows宿主主机中前往libmcrypt官网下载然后使用rz指令将包上传至centos7进行编译安装。我下载的包为libmcrypt-2.5.8.tar.gz:

  tar -zxvf libmcrypt-2.5.8.tar.gz

  cd libmcrypt-2.5.8

  ./configure –prefix=/usr/local/libmcrypt

  make

  make install

  2. 下载php包并解压

  cd /usr/local/src

  在windows上前往php官网下载php-7.2.0包,然后使用rz指令将下载好的php安装包上传到centos7上,解压:

  tar -zxvf php-7.2.0.tar.gz

  3. 编译安装(到/usr/local/php目录)

  cd php-7.2.0

  ./configure –prefix=/usr/local/php –disable-fileinfo –enable-fpm –with-config-file-path=/etc –with-config-file-scan-dir=/etc/php.d –with-openssl –with-zlib –with-curl –enable-ftp –with-gd –with-xmlrpc –with-jpeg-dir –with-png-dir –with-freetype-dir –enable-gd-native-ttf –enable-mbstring –with-mcrypt=/usr/local/libmcrypt –enable-zip –enable-mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-mysql-sock=/var/lib/mysql/mysql.sock –without-pear  –enable-bcmath

  (注意:–with-mcrypt参数指定的是libmcrypt的安装目录。Php7不再使用mysql的库来支持mysql的连接,而是启用了mysqlnd来支持,所以php7的编译已经不再使用–with-mysql参数指定mysql的安装位置了,若想支持mysql,需要设置–enable-mysqlnd、–with-mysqli和–with-pdo-mysql=mysqlnd参数,–with-mysql-sock指定的是编译mysql时-DMYSQL_UNIX_ADDR参数指定的文件)

  make(此过程需花费大概20分钟)

  make install

  4. 将php包解压目录中的配置文件放置到正确位置(configure命令中的–with-config-file-path设置的位置)

  cp php.ini-development /etc/php.ini

  5. 创建并设置php-fpm运行账号

  groupadd www-data

  useradd -M -g www-data -s /sbin/nologin www-data

  cd /usr/local/php/etc

  cp php-fpm.conf.default php-fpm.conf

  vim php-fpm.conf

  发现搜索不到“user”(设置运行账号的位置),但发现文件的最后一行:

  所以:

  cd php-fpm.d

  cp www.conf.default www.conf(否则include匹配不到文件)

  vim www.conf

  搜索“user”设置运行账号:

  user=www-data

  group=www-data

  6. 配置nginx支持php

  vim /usr/local/nginx/conf/nginx.conf

PHP 的安装-风君雪科技博客

   修改完成之后记得重启nginx服务:

  systemctl start nginx.service

  7. 设置php-fpm为系统服务:

  vim /etc/systemd/system/php-fpm.service

  文件内容:

  [Unit]

  Description=php-fpm

  After=network.target

  [Service]

  Type=forking

  ExecStart=/usr/local/php/sbin/php-fpm

  PrivateTmp=True

  [Install]

  WantedBy=multi-user.target

  8. 设置php-fpm服务开机自启动:

  systemctl enable php-fpm.service

  9. 启动php-fpm:

  systemctl start php-fpm.service

  查看是否启动成功:

  ps -A | grep php-fpm

  10.写一个php脚本测试nginx是否已支持php,php是否已支持mysql。