ubuntu配置php环境
2021-06-24 本文已影响0人
量U移动广告归因
ubuntu16.04 / 18.04 / 20.04 安装php环境(只是安装php环境,不涉及mysql数据库)
先说Apache 2.0 Handler ,再讲 FPM/FastCGI
如果 Web Server 是 Apache2.x,那么最好直接使用 Apache 2.0 Handler 的方式运行 php,当然也可以使用 FPM/FastCGI 的方式,但最好不要那么做
如果 Web Server 是 Nginx,那就只有 FPM/FastCGI 这个选择了
- ubuntu 18.04 / 20.04 这两个系统版本的安装过程一样
apt update
apt install apache2
apt php
注意 apache2 和 php 的先后安装顺序,如果 php 在后,可能需要重启下 apache
service apache2 restart
- ubuntu16.04这个系统有点倔强
除了按照上面 18.04 / 20.04 的方式安装完之后,还需要安装下面这个模块 apache 才能解析 php
apt install libapache2-mod-php
安装完就可以解析了,也不需要做额外的配置修改,安装程序会做好这一切的工作
FPM/FastCGI
- ubuntu 18.04 / 20.04
apt update
apt install nginx
apt install php-fpm
这里有两点需要注意
第一点是 php-fpm 的重启,需要带上 php 的版本号
service php7.4-fpm restart //如果 php 是7.2,这里则需要修改对应的版本号
第二点是nginx的配置,配置不对的话是无法解析 php 的,会直接下载 php 脚本
不要直接修改 /etc/nginx/nginx.conf 这个文件,而是需要修改 /etc/nginx/sites-available/default
nginx.conf 会通过 include 将 defualt 包含进来,而在 default 文件中早已定义了 server 部分(只是没打开php解析),所以这就是你一直改 nginx.conf ,却还是无法解析 php 的原因
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# With php-cgi (or other tcp sockets):
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
打开 default 文件,大概在56-63行的位置,将注释打开,是使用 sock 还是 tcp方式,随意,本地的话推荐 sock,跟 mysql 本地使用 sock 连接一个道理,效率高
fastcgi_pass 这个配置 php-fpm.sock的路径,不知道的可以使用下面的命令查看
netstat -a | grep fpm
修改后重启 nginx
service nginx restart
- 还是ubuntu16.04
ubuntu16.04的 php-fpm,在安装php的时候就安装好了,所以不需要像 18.04 和 20.04 那样使用 apt 单独安装 php-fpm
只要安装好 nginx 并配置好就可以解析 php 了