1、下载 PHP 源码包
wget -c http://cn2.php.net/get/php-7.1.11.tar.gz/from/this/mirror -O php-7.1.11.tar.gz
2、解压缩文件
tar -zxvf php-7.1.11.tar.gz
3、安装依赖包
sudo apt update sudo apt -y install libxml2-dev
4、添加用户及用户组
groupadd www-data useradd -g www-data -s /sbin/nologin -M www-data
5、参数说明
sudo ./configure --help """ 安装路径 """ --prefix=/usr/local/php56 \ """ php.ini 配置文件路径 """ --with-config-file-path=/usr/local/php56/etc \ """ 优化选项 """ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ """ 启用 opcache,默认为 ZendOptimizer+(ZendOpcache) """ --enable-opcache \ """ FPM """ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ """ MySQL """
--with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ """ 国际化与字符编码支持 """ --with-gettext \ --enable-mbstring \ --with-iconv \ """ 加密扩展 """
--with-mhash \ --with-openssl \ """ 数学扩展 """ --enable-bcmath \ """ Web 服务,soap 依赖 libxml """ --enable-soap \ --with-libxml-dir \ """ 进程,信号及内存 """ --enable-pcntl \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ """ socket & curl """ --enable-sockets \ --with-curl \ """ 压缩与归档 """ --with-zlib \ --enable-zip \ --with-bz2 \ """ GNU Readline 命令行快捷键绑定 """ --with-readline
6、编译安装
sudo ./configure
""" sudo ./configure --enable-fpm --with-fpm-user = www-data --with-fpm-group = www-data """
sudo make && make install
7、创建配置文件,并将其复制到正确的位置。
cp php.ini-development /usr/local/php/php.ini cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf cp sapi/fpm/php-fpm /usr/local/bin
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
8、在启动服务之前,需要修改 php-fpm.conf 配置文件,确保 php-fpm 模块使用 www-data 用户和 www-data 用户组的身份运行。
vim /usr/local/etc/php-fpm.conf
找到以下内容并修改:
; include=NONE/etc/php-fpm.d/*.conf
include=etc/php-fpm.d/*.conf
然后启动 php-fpm 服务:
/usr/local/bin/php-fpm
本文档未涵盖对 php-fpm 进行进一步配置的信息,如果您需要更多信息,请查阅相关文档。
9、配置 Nginx 使其支持 PHP 应用:
vim /usr/local/nginx/conf/nginx.conf
修改默认的 location 块,使其支持 .php 文件:
location / { root html; index index.php index.html index.htm; }
下一步配置来保证对于 .php 文件的请求将被传送到后端的 PHP-FPM 模块, 取消默认的 PHP 配置块的注释,并修改为下面的内容:
location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; }
重启 Nginx。
sudo /usr/local/nginx/sbin/nginx -s stop sudo /usr/local/nginx/sbin/nginx
10、创建测试文件。
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
11、打开浏览器,输入域名访问,将会显示 phpinfo() 。