代码改变世界

Ubuntu20.04安装php7.4

2024-11-18 11:43  猎手家园  阅读(69)  评论(0编辑  收藏  举报

Ubuntu20.04的php默认版本为php7.4

1、直接用命令安装

sudo apt update

sudo apt install php
sudo apt -y install php-fpm
# 检查 php -v

 

2、默认安装位置

安装目录:/usr/lib/php

配置文件:/etc/php/7.4/fpm/pool.d/www.conf

服务文件:/lib/systemd/system/php7.4-fpm.service

 

如果用到 redis,增加一个redis扩展

apt install php7.4-redis

重启服务后查看

php -m

 

其它模块安装命令

# php7.4-cli
sudo apt-get install php7.4-cli

# php7.4-json
sudo apt-get install php7.4-json

# php7.4-mysql
sudo apt-get install php7.4-mysql

# php7.4-zip
sudo apt-get install php7.4-zip

# php7.4-gd
sudo apt-get install php7.4-gd

# php7.4-mbstring
sudo apt-get install php7.4-mbstring

# php7.4-curl
sudo apt-get install php7.4-curl

# php7.4-xml
sudo apt-get install php7.4-xml

# php7.4-bcmath
sudo apt-get install php7.4-bcmath

 

3、服务启动命令

# 启动命令
systemctl start php7.4-fpm.service

# 查看状态
systemctl status php7.4-fpm.service

 

4、如果你使用nginx,那么禁用apache2(默认)

# 查看服务
systemctl status apache2.service

# 停止服务
systemctl stop apache2.service

# 查看自启状态
systemctl is-enabled apache2.service

# 禁用
systemctl disable redis.service

 

5、nginx默认权限是不够,需要增加一个用户

# 增加用户组和用户
groupadd nginxuser
useradd -r -g nginxuser nginxuser

# nginx.conf 指定启动用户
user    nginxuser;

 

6、给配置文件 “/etc/php/7.4/fpm/pool.d/www.conf” 同样的启动权限

[www]
user  = nginxuser
group = nginxuser

listen = 127.0.0.1:9001

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
rlimit_files = 1024

slowlog = log/$pool.log.slow

 

7、给网站目录也赋予权限

# 权限
chown -R nginxuser:nginxuser [网站上传目录]

 

8、nginx遇到is not within the allowed path(s)

总结:发现不是目录下的.user.ini文件的问题,也不是php.ini的配置问题,而是fastcgi.conf的配置问题。
问题原因:open_basedir是默认的动态访问目录,/home/wwwroot/myproject/public,从而php无法读取其他目录。

解决办法:在 /usr/local/nginx/conf/ 目录在找到 fastcgi.conf,关于 open_basedir 默认的配置应该是:

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
# 修改成(如果没有则增加一行):
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/usr/local/wwwroot/myproject/:/tmp/:/proc/";

 

9、卸载PHP

sudo apt-get remove php7.4

# 如果要删除配置文件和依赖项,使用下面命令
sudo apt-get purge php7.4