安装了新的虚拟机,接下来就是记录一下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 访问两个站点成功
--------------------- 作者:k3rw1n 来源:CSDN