Ubuntu 18.04 源码编译安装PHP7.3.5详细过程

安装了新的虚拟机,接下来就是记录一下Ubuntu下源码编译安装PHP7的过程

首先是从官网下载源码包 https://www.php.net/downloads.php

我这里选择的是 https://www.php.net/distributions/php-7.3.5.tar.gz

打开虚拟机,Ctrl + Alt + T 打开终端 sudo su可以切换超级管理员,不用每次输入命令都带sudo,至于为什么不用图形界面的功能,玩Ubuntu 不敲命令那玩啥。

复制下载链接

sudo wget https://www.php.net/distributions/php-7.3.5.tar.gz

执行以下命令进行解压

sudo tar -zxvf php-7.3.5.tar.gz

然后输入密码

cd php-7.3.5/

安装依赖

sudo apt update
sudo apt install gcc
sudo apt install make
sudo apt install openssl
sudo apt install curl
sudo apt install libbz2-dev
sudo apt install libxml2-dev
sudo apt install libjpeg-dev
sudo apt install libpng-dev
sudo apt install libfreetype6-dev
sudo apt install libzip-dev
sudo apt install libssl-dev

预编译

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --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-dir=/usr/bin/curl --enable-mbregex --enable-mbstring --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts

直到看到这个界面, 预编译成功

编译并安装 ,参数-j指定编译线程数量来进行多线程编译,不想等着就加上咯

sudo make -j4

看到这个就完成编译了

执行以下命令进行安装

sudo make install

安装完成以及输入命令

/usr/local/php/bin/php -v

查看本版本

PHP7.3.5成功从源代码编译安装!!!!

最后复制一个源码编译出来的配置文件

sudo cp php.ini-development /usr/local/php/etc/php.ini

本来 想分开写的想想还是算了

配置php-fpm命令:

cd /usr/local/etc/ cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d cp www.conf.default www.conf

groupadd www
useradd -g www www

启动

/usr/local/php/sbin/php-fpm

没有消息就是好消息

验证

ps -ef |grep php-fpm

Nginx解析PHP多站点配置

cd /usr/local/nginx/conf

编辑配置文件为多文件

vim nginx.conf

把nginx.conf里面server{}内的注释掉,再引入以下文件

保存并关闭文件

:wq

新建文件夹

mkdir vhosts

进入目录

cd vhosts/

新建配置文件,建议文件名有辨识度,一个文件一个站点

vim 1.com.conf

配置文件内容

server {
listen 801; # 监听端口
server_name 127.0.0.1; # 站点域名
root /wwwroot/1.php; # 站点根目录
index index.html index.htm index.php; # 默认导航页

location / {
index index.html index.htm index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}

}
# PHP配置
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

保存并关闭文件

:wq

重启

cd /usr/local/nginx
./sbin/nginx -s reload

访问两个站点成功

标签:UbuntuPHP 发布于:2019-10-16 19:55:28