源码安装php7.0.5,并使用nginx测试

1、下载php7.0.5源码安装包,并解压重命名

#http://php.net/downloads.php
#下载后,通过rz命令上传至服务器
tar -xf php-7.0.5.tar.gz -C /usr/local/
mv /usr/local/php-7.0.5 /usr/local/php

2、下载编译依赖工具

yum -y install libxml2 libxml2-devel openssl openssl-devel curl curl-devel libjpeg libjpeg-devel libpng  libpng-devel freetype freetype-devel pcre pcre-devel libxslt libxslt-devel 
bzip2 bzip2-devel
#如果已安装则会进行升级

3、模块配置

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-s

#可以使用 ./configure --help 命令查看所有选项,这里注意在php7中–with-mysql原生支持已经不存在了,操作都变成mysqli或者pdo了;以上这些选项在正常的php开发中完全够用了,后期如果需要,可以选择手动开启相应的模块ysvshm --enable-xml --enable-zip

4、编译及安装

make && make install
#时间较长,可执行echo $? 查看返回值,为0则成功,非0则失败

5、相关文件配置

cp php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
ln -s /usr/local/php/sbin/php-fpm /usr/local/bin

6、设置php.ini

#打开php配置文件找到cgi.fix_pathinfo配置项,这一项默认被注释并且值为1,根据官方文档的说明,这里为了当文件不存在时,阻止Nginx将请求发送到后端的PHP-FPM模块,从而避免恶意脚本注入的攻击,所以此项应该去掉注释并设置为0

#php.ini配置文件的位置可以在编译前配置参数中设置,编译参数可以写成:–with-config-file-path=/usr/local/php 这样的话php就回去指定的目录下读取php.ini配置文件,如果不加这个参数默认位置就是php安装目录下的lib目录,具体也可以在phpinfo()输出界面查看,如果php.ini放到其他位置,php读取不到,那么所有的配置修改后都是不生效的,这点要注意

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-THZx039i-1588490725915)(/1588488661(1)].png)

7、创建用户和组

groupadd www-data
useradd -g www-data www-data

8、

#网上一些教程说让修改php-fpm.conf添加以上创建的用户和组如果此时随便在一个位置添加,那么接下来启动php-fpm的时候,会报目录找不到的错误,所以不要在php-fpm.conf中添加用户和组,这个时候翻到php-fpm.conf最后一行会发现如下内容(如果编译时添加–prefix选项以下位置会自动补全,默认是下面是空的,要注意):

#这里引入了php-fpm.d目录下所有的conf配置文件,但是NONE需要修改为我们的实际目录:/usr/local

# 默认情况下etc/php-fpm.d/下有一个名为www.conf.defalut的配置用户的文件,执行下面命令复制一个新文件并且打开:

cd /usr/local/php/etc/php-fpm.d
cp www.conf.default www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf
#默认user和group的设置为nobody,将其改为www-data

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8t02Iq3L-1588490725918)(/1588489331(1)].png)
在这里插入图片描述

在这里插入图片描述

9、启动

/usr/local/bin/php-fpm
#启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -lntp | grep 9000 可以查看端口使用情况:

在这里插入图片描述

10、配置nginx

讲nginx用户配置与php相同,www-data

在这里插入图片描述

配置匹配php网页

在这里插入图片描述在这里插入图片描述

注意将 fastcgi_param中的/scripts为$document_root

进入网站根目录,创建php测试页

vim /var/www/nginx/html/index.php

<?php
    phpinfo();
?>

12、测试访问
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值