1.下载源码包
wget -c http://cn2.php.net/distributions/php-7.2.4.tar.gz
2.解压源码包
tar -xzvf php-7.2.4.tar.gz
3.安装依赖
yum install -y libxml2*
yum install -y openssl*
yum install -y libcurl*
yum install -y libjpeg*
yum install -y libpng*
yum install -y freetype*
yum install -y libmcrypt*
4.指定安装目录和模块
//在php-7.2.4目录下进行
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo
配置完成后会提示: Thank you for using PHP.
5.编译和安装
make & make install
6.添加配置文件
//进入/usr/local/php目录
cp php.ini-production /usr/local/php/etc/php.ini
//进入/usr/local/php/etc目录
cp php-fpm.conf.default php-fpm.conf
//进入/usr/local/php/etc/php-fpm.d目录
cp www.conf.default www.conf
7.启动
//进入/usr/local/php/sbin
./php-fpm
8.提示
如果报错 [pool www] cannot get uid for user ‘www’,这是因为没有将www加入linux用户组和用户中,通过如下命令加入即可
groupadd www
useradd -g www www
打开/etc/passwd可以看到www已经加入进去
vim /usr/local/php/etc/php-fpm.conf
//修改如下内容
pid = /var/run/php-fpm.pid
新建 php-fpm 服务文件
vim /usr/lib/systemd/system/php-fpm.service
//内容如下
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载systemctll配置
systemctl daemon-reload
启动
systemctl start php-fpm
一、如果通过yum命令安装的php,则按照以下方式进行
yum命令方式安装的nginx目录结构如下,在conf.d目录下,只有一个default.conf配置文件
打开default.conf,把一下部分的注释去掉,并且把红色框中的/scripts修改为nginx的html目录(在这之前,确定已安装了php-fpm)
二、如果通过源码安装的php,则按照以下方式进行
目录结构如下
Nginx 与 php-fpm 通信过程是通过 nginx 的 fastcgi 模块来处理的,即 fastcgi 模块将来自客户端的关于 php 文件的请求转发给 php-fpm 来处理。既然是转发请求,那么必须要遵循一定的协议,也就是 fastcgi.conf 所规定的协议。
关于Nginx和php-fpm请参考 https://segmentfault.com/a/1190000007322358
打开nginx.conf修改配置文件,添加如下内容
location ~ \.php$ {
include /usr/local/openresty/nginx/conf/fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
}
重启nginx
在html目录下放置测试文件phpinfo.php
在浏览器上访问
将nginx和php加入环境变量
vim /etc/profile
PATH=$PATH:/usr/local/openresty/nginx/sbin
PATH=$PATH:/usr/local/php/bin
刷新
source /etc/profile