如何在CentOS 8上安装PHP

2022-07-29 14:33:08 浏览数 (1)

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(软件应用流),版本和安装配置文件。

代码语言:javascript复制
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存储库。

如果您有任何疑问或反馈,请随时发表评论。

0 人点赞