本文介绍在Ubuntu 20.04服务器上安装PHP 8并将其与Apache和Nginx集成,即使用Apache或Nginx安装PHP 8.0,也可在此基础上安装PHP 8.0扩展。在选写本文时,默认的Ubuntu 20.04存储库包括PHP 7.4版本,我们将从ondrej/php PPA存储库中安装PHP,请在升级或安装PHP 8之前,请确保您的应用程序支持它。另外,相同的步骤适用于Ubuntu 18.04和所有基于Ubuntu的发行版,包括Kubuntu、Linux Mint和Elementary OS等,可先参考在Ubuntu 20.04/18.04下安装PHP 8.0和PHP 8扩展一文。
启用PHP存储库 Debian开发人员Ondrej Sury维护着一个包含多个PHP版本的存储库,要启用存储库,请运行: sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php 启用PPA后,即可安装PHP 8。
使用Apache安装PHP 8.0 如果您将Apache用作网络服务器,则可以将PHP作为Apache模块或PHP-FPM运行。 1、将PHP安装为Apache模块 将PHP作为Apache模块安装是一项简单的任务: sudo apt update sudo apt install php8.0 libapache2-mod-php8.0 安装软件包后,请重新启动Apache以加载Apache模块: sudo systemctl restart apache2 2、使用PHP-FPM配置Apache Php-FPM是PHP的FastCGI流程管理器,运行以下命令以安装必要的软件包: sudo apt update sudo apt install php8.0-fpm libapache2-mod-fcgid 默认情况下,Apache中未启用PHP-FPM,要启用它,请运行: sudo a2enmod proxy_fcgi setenvif sudo a2enconf php8.0-fpm 要激活更改,请重新启动Apache: systemctl restart apache2 要进行多版本切换,请参考:在Ubuntu 18.04系统下切换多个PHP版本的方法。
使用Nginx安装PHP 8.0 Nginx不具有处理PHP文件的内置支持,我们将使用PHP-FPM(“fastCGI process manager”)来处理PHP文件。 运行以下命令以安装PHP和PHP FPM软件包: sudo apt update sudo apt install php8.0-fpm 安装完成后,FPM服务将自动启动,要检查服务状态,请运行: systemctl status php8.0-fpm
现在,您可以编辑Nginx服务器块并添加以下行,以便Nginx可以处理PHP文件: server { # . . . other code location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.0-fpm.sock; } } 如下图所示,请注意加深颜色背景部分代码:
不要忘记重启Nginx服务,以使新配置生效: sudo systemctl restart nginx
安装PHP 8.0扩展 PHP 8.0扩展是已编译的库,用于扩展PHP的核心功能,扩展是作为软件包提供的,可以使用apt轻松安装: sudo apt install php8.0-[extname] 例如,要安装MySQL和GD扩展,您将运行以下命令: sudo apt install php8.0-mysql php8.0-gd 安装新的PHP 8.0扩展之后,请不要忘记重启Apache或PHP FPM服务,具体取决于您的设置。
测试PHP 8.0处理 要测试是否正确配置了Web服务器以进行PHP 8.0处理,请使用以下代码在/var/www/html目录中创建一个名为info.php的新文件(路径:/var/www/html/info.php): <?php phpinfo(); 保存文件,打开浏览器,然后访问:http://your_server_ip/info.php(请自行输入自身的ip地址)。 您将看到有关PHP 8.0配置的信息,类似于以下内容:
结论 在Ubuntu 20.04服务器上安装PHP 8是一个简单的任务,您需要做的就是启用“ondrej/php”存储库并使用apt安装PHP 8。
相关主题 |