在本文中,我们将讨论如何在CentOS 8系统上安装PHP 7.2、7.3或7.4,在选择要安装的PHP版本之前,请确保你的应用程序支持它,我们还将向你展示如何将PHP与Nginx和Apache集成。
在CentOS 8上安装PHP 7.2、PHP 7.3、PHP 7.4
CentOS 8随PHP 7.2一起发行,该版本支持大多数现代PHP应用程序,但自2019年11月起将不再有效维护,可从Remi存储库中获得更新的PHP版本。
1、启用Remi存储库
如果你要安装稳定的PHP 7.2版本,请跳过此步骤,否则,如果要安装PHP 7.3或7.4,请以root或具有sudo特权的用户身份运行以下命令来启用Remi存储库:
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
安装完成后,请运行以下命令以获取所有可用PHP版本的列表:
$ sudo dnf module list php
输出将显示所有可用模块的列表,包括关联的流、版本和安装配置文件,如下图所示:
默认的PHP模块设置为PHP 7.2,要安装较新的PHP版本,请启用适当的版本。
2、PHP 7.3
$ sudo dnf module reset php
$ sudo dnf module enable php:remi-7.3
3、PHP 7.4
$ sudo dnf module reset php
$ sudo dnf module enable php:remi-7.4
至此,现在可以在CentOS 8服务器上安装PHP了。
4、安装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,为此,请编辑相关的行,即user = nginx和group = 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存储库,并且运行相应的命令即可。
相关主题