如何在Ubuntu 20.04 / Ubuntu 18.04上安装PHP 8.0
广告
PHP是一种开源编程语言,广泛用于Web开发以创建动态网站,例如电子商务,博客,Internet论坛等。
在这篇文章中,我们将看到如何在Ubuntu 20.04 / Ubuntu 18.04上安装PHP 8.0。
添加PHP存储库
第三方存储库OndřejSurý为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支持
当浏览器请求PHP页面时,默认情况下,Apache和Nginx都不支持PHP语言。 因此,我们需要安装PHP模块软件包以支持PHP。
PHP对Apache的支持
您可以将以下软件包与Apache Web服务器一起安装,以支持LAMP堆栈的PHP。 该软件包提供了适用于Apache 2 Web服务器的PHP模块。
读: 如何在Ubuntu 20.04上安装LAMP Stack
读: 如何在Ubuntu 18.04上安装LAMP Stack
广告
更改PHP版本(如果需要)
sudo apt install -y apache2 libapache2-mod-php8.0
PHP对Ngnix的支持
Nginx没有PHP模块包来支持LEMP堆栈的PHP。 为了对Nginx提供PHP支持,我们可以使用PHP FastCGI Process Manager来处理PHP请求。
读: 如何在Ubuntu 20.04上安装LEMP Stack
读: 如何在Ubuntu 18.04上安装LEMP Stack
sudo apt install -y php8.0-fpm
默认情况下,PHP-FPM监听套接字run / php / php8.0-fpm.sock。
要使PHP-FPM使用TCP连接,请编辑以下文件。
sudo nano /etc/php/8.0/fpm/pool.d/www.conf
然后,更改listen参数。
从:
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
结论
就这样。 请在评论部分分享您的反馈。
广告