共计 2054 个字符,预计需要花费 6 分钟才能阅读完成。
PHP 是最常用的服务器端编程语言之一。许多流行的 CMS 和框架(例如 WordPress,Magento 和 Laravel)都是用 PHP 构建的。
在本指南中,我们将讨论如何在 CentOS 8 上安装 PHP 7.2、7.3 或 7.4。在选择要安装的 PHP 版本之前,请确保您的应用程序支持它。
我们还将向您展示如何将 PHP 与 Nginx 和 Apache 集成。
在 CentOS 8 上安装 PHP
CentOS 8 是用 PHP 7.2 发布的。该版本支持大多数现代 PHP 应用程序,但从 2019 年 11 月起将不再积极维护。较新的 PHP 版本可以从 Remi 存储库中获得。
启用 Remi 存储库
如果您要安装发行版稳定的 PHP 版本 7.2,请跳过这一步。如果您希望安装 PHP 7.3 或 7.4,则通过以 root 用户或具有 sudo 特权的用户运行以下命令来启用 Remi 存储库:
[linuxidc@localhost www.linuxidc.com]$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
上面的命令还将启用 EPEL 存储库。
安装完成后,请运行以下命令以获取所有可用 PHP 版本的列表:
[linuxidc@localhost www.linuxidc.com]$ sudo dnf module list php
输出将显示所有可用模块的列表,包括关联的 AppStream(软件应用流),版本和安装配置文件。
CentOS-8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name Stream Profiles Summary
php remi-7.2 common [d], devel, minimal PHP scripting language
php remi-7.3 common [d], devel, minimal PHP scripting language
php remi-7.4 [e] common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
默认的 PHP 模块设置为 PHP 7.2。要安装较新的 PHP 版本,请启用适当的版本:
PHP 7.3
sudo dnf module reset php
sudo dnf module enable php:remi-7.3
PHP 7.4
sudo dnf module reset php
sudo dnf module enable php:remi-7.4
您现在可以在 CentOS 服务器上安装 PHP。
安装 PHP
以下命令将安装 PHP 和一些最常见的 PHP 模块:
sudo dnf install php php-opcache php-gd php-curl php-mysqlnd
PHP 使用 FPM 作为依赖安装,并用作 FastCGI 服务器。启动 FPM 服务,并使它能够在启动时自动启动:
sudo systemctl enable –now php-fpm
配置 PHP 以与 Apache 一起使用
如果您将 Apache 用作 Web 服务器,请使用以下命令重新启动 httpd 服务,您可以使用:
sudo systemctl restart httpd
配置 PHP 以与 Nginx 一起使用
默认情况下,PHP FPM 以用户 apache 的身份运行。为避免权限问题,我们将用户更改为 nginx。为此,请编辑以黄色突出显示的行:
sudo nano /etc/php-fpm.d/www.conf
…
user = nginx
…
group = nginx
确保 /var/lib/php 目录具有正确的所有权:
chown -R root:nginx /var/lib/php
完成后,重新启动 PHP FPM 服务:
sudo systemctl restart php-fpm
接下来,编辑 Nginx 虚拟主机指令,并添加以下位置块,以便 Nginx 可以处理 PHP 文件:
server {
# . . . other code
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
为了使新配置生效,请重新启动 Nginx 服务:
sudo systemctl restart nginx
总结
可从默认的 CentOS 8 存储库中安装 PHP 7.2。如果要安装最新版本,则需要启用 Remi 存储库。
如果您有任何疑问或反馈,请随时发表评论。
: