PHP 是一种广泛用于 Web 开发的开源编程语言,用于创建动态网站,例如电子商务网站、博客、互联网论坛等。
在这篇文章中,我们将看到如何在 Ubuntu 20.04 / Ubuntu 18.04 上安装 PHP 8.0。
添加 PHP 存储库
Ondřej Surý,第三方存储库,为 Ubuntu 操作系统提供 PHP 8.0 / 7.x。
更新存储库缓存。
sudo apt update
安装以下软件包。
sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
将存储库添加到您的系统。
sudo apt-add-repository ppa:ondrej/php
更新存储库索引。
sudo apt update
安装 PHP
在 Ubuntu 20.04 / Ubuntu 18.04 上安装 PHP 8.0
使用以下命令安装 PHP 8.0。
sudo apt install -y php8.0 php8.0-cli php8.0-common
在 Ubuntu 20.04 / Ubuntu 18.04 上安装 PHP 7.x
使用以下命令安装 PHP 7.4。
sudo apt install -y php7.4 php7.4-cli php7.4-common
系统上可以有多个 PHP 版本。 每个 PHP 版本下都会有单独的配置文件 /etc/php/{8/7}.X 目录。
验证 PHP 版本
安装 PHP 软件包后,请使用以下命令检查版本。
php -v
输出:
PHP 8.0.0 (cli) (built: Nov 27 2020 12:26:22) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies with Zend OPcache v8.0.0, Copyright (c), by Zend Technologies
对 Web 服务器的 PHP 支持
两个都 Apache 并且Nginx在浏览器请求PHP页面时默认不支持PHP语言。 所以,我们需要安装PHP模块包来支持PHP。
PHP 支持 Apache
您可以安装以下软件包 Apache 网络服务器以支持 LAMP 堆栈的 PHP。 这个包提供了 PHP 模块 Apache 2个网络服务器。
如何在 Ubuntu 20.04 上安装 LAMP 堆栈
如何在 Ubuntu 18.04 上安装 LAMP 堆栈
如果需要,更改 PHP 版本
sudo apt install -y apache2 libapache2-mod-php8.0
Ngnix 的 PHP 支持
Nginx 没有 PHP 模块包来支持 LEMP 堆栈的 PHP。 为了让 Nginx 支持 PHP,我们可以使用 PHP FastCGI Process Manager 来处理 PHP 请求。
如何在 Ubuntu 20.04 上安装 LEMP 堆栈
如何在 Ubuntu 18.04 上安装 LEMP 堆栈
sudo apt install -y php8.0-fpm
PHP-FPM 监听套接字 运行/php/php8.0-fpm.sock 默认情况下。
要使 PHP-FPM 使用 TCP 连接,请编辑以下文件.
sudo nano /etc/php/8.0/fpm/pool.d/www.conf
然后,更改 听 范围。
从:
listen = /run/php/php8.0-fpm.sock
到:
listen = 127.0.0.1:9000
在 Nginx 虚拟主机中添加套接字详细信息。
server { # other codes location ~* .php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
安装 PHP 扩展
PHP 扩展为您的代码启用特定功能。 例如,安装 PHP MySQL 扩展将使您的 PHP 代码与 MySQL 数据库连接。
PHP 扩展包通常命名为 php–
要让 MySQL 支持 PHP v8.0,您可以安装一个 php8.0-mysql 包裹。
sudo apt install -y php8.0-mysql
安装所需的扩展后,请使用以下命令进行验证。
php -m | grep -i mysql
输出:
mysqli mysqlnd pdo_mysql
结论
就这样。 请在评论部分分享您的反馈。