文章目录
{ .ImgAlt }}

PHP 是世界上使用广泛的服务端编程语言之一。很多著名的 CMS 和框架,例如 WordPress, Magento, 和 Laravel 都是基于 PHP 构建的。

在这篇指南中,我们将会讨论如何在 CentOS 8 上安装 PHP 7.2, 7.3, 或者 7.4。在选择安装哪个版本 PHP 之前,请确认你的应用支持它。

一、在 CentOS 8 上安装 PHP

CentOS 8 是和 PHP7.2 一起发布的。这个版本支持大部分现代的 PHP 应用,但是到 2019 年 11 月将不在被维护。更新的 PHP 版本请浏览:Remi repository

一、 启用 Remi 源仓库

如果你要安装 PHP 的稳定版本 7.2,请忽略这一步。否则,如果你要安装 PHP7.3 或者 7.4,请使用 root 或者其他有 sudo 权限的用户身份运行下面的命令,启用 Remi 源仓库:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

上面的命令同样也能启用EPEL 软件源仓库

一旦上面的安装完成,运行下面的命令,获取所有可用的 PHP 版本:

sudo dnf module list php

输出将会显示一系列所有可用的模块,包括关联的版本,和安装剖面。

Last metadata expiration check: 0:02:11 ago on Fri 18 Oct 2019 08:31:43 PM UTC.
CentOS-8 - AppStream
Name    Stream       Profiles                     Summary
php     7.2 [d][e]   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     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 模块:

腾讯云:新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

FPM 被作为 PHP 依赖安装,并且被用作 FastCGI 服务器。启动 FPM 服务器并且启用开机启动:

sudo systemctl enable --now php-fpm

2.1、配置 PHP,适配 Apache

如果你正在使用 Apache 作为你的网页服务器,使用下面的命令重启httpd服务:

sudo systemctl restart httpd

2.2、配置 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

三、结论

PHP 7.2 可以从默认的 CentOS 8 源仓库中安装。如果你想要安装最近的版本,你可以启用 Remi 源仓库。




如果你有任何疑问,请通过以下方式联系我们:

微信:

微信群: 加上面的微信,备注微信群

QQ: 3217680847

QQ 群: 82695646 雪梦科技交流群

原文 :https://linuxize.com/post/how-to-install-php-on-centos-8/

    版权声明:本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。知识共享许可协议
腾讯云:助力中小微企业上云,满足轻量级Web应用需求,云服务器钜惠 166元/年起

相关推荐