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
欢迎关注我的公众号:云栖语,不一样的研发视界。
云栖语微信公众号:change-1978