[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

在 CentOS 7.4 上使用 PHP 7.x

此文章是关乎我近日所关注的一个问题:如何在 CentOS 7 缺省的 httpd 服务器上采用 PHP 7.0 或 7.1,却不采用外置软件库或从源码重新编译 PHP?

答案是 软件选集。在这里我们会从新的 CentOS 安装开始,进而设立一个执行 PHP 7.x 的网站。

首先,我们会安装软件选集的软件库(它是一个需要启用的官方软件库)。

root @ centos7-vm: ~ # yum -y install centos-release-scl.noarch

此指令会在你的系统上部署一个新的软件库,它是 CentOS 的其中一个官方软件库。

安装完成后,让我们安装 PHP 7 组件及 httpd 组件,连同它的插件。

root @ centos7-vm: ~ 24 # yum -y install rh-php72 rh-php72-php rh-php72-php-fpm httpd

为了要采用 php 7.2,我们将会使用 php-fpm,这是 推荐的做法,并代替了 mod_php。既然如此,我们便采用 fpm 服务。此服务缺省会在 900 端口上运行。要是你需要更改端口号,请打开以下文件:

/etc/opt/rh/rh-php72/php-fpm.d/www.conf

然后将下行修改:

listen = 127.0.0.1:9000

成为你所需的设置(例如:9002)。完成后,我们必须更改 selinux 的数据库并加入 9002 为 httpd 服务的有效端口。

semanage port -a -t http_port_t -p tcp 9002

完成后,打开 php-fpm 服务并在开机时引导它:

{{{root @ centos7-vm: ~ 29 # systemctl enable rh-php72-php-fpm.service Created symlink from /etc/systemd/system/multi-user.target.wants/rh-php72-php-fpm.service to /usr/lib/systemd/system/rh-php72-php-fpm.service. root @ centos7-vm: ~ 30 # systemctl start rh-php72-php-fpm.service root @ centos7-vm: ~ 31 # systemctl status rh-php72-php-fpm.service ● rh-php72-php-fpm.service - The PHP FastCGI Process Manager

现在我们须要设置 httpd 后台服务并告欣它利用此服务来处理 php 页面。

让我们在 /etc/httpd/conf.d/ 数据来创建名为 fpm.conf 的文件,并放入以下内容:

{{{# PHP scripts setup ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9000/var/www/html

Alias / /var/www/html/

DirectoryIndex index.php}}}

如此,apache 将会把所有以 .php 结尾的文件传送到我们的 php-fpm 服务,然后显示所得结果。

为要确定一切正常,我们会在 /var/www/html 创建一个小页面,提出 phpinfo 的要求

{{{root @ centos7-vm: ~ 1 # cat /var/www/html/index.php <?php phpinfo() ?> root @ centos7-vm: ~ 1 #}}}

/!\ 切勿忘记这只是一个基本设置来确定你的安装能运作。如果你需要实际应用于程序中,你或许应参考 此文章 对准你的 php 设置。

请勿忘记起动、启用及加入你的 httpd 服务到防火墙:

{{{root @ centos7-vm: ~ 43 # systemctl enable httpd ; systemctl start httpd root @ centos7-vm: ~ 46 # firewall-cmd --add-service=http --permanent success root @ centos7-vm: ~ 47 # firewall-cmd --reload success}}}

现在我们若连接到该网站,它会显示 php 已被正确地处理:

HowTos/php7/phpinfo7.0.png

Translation of revision 7


2023-09-11 07:23