16.6. 使用 PHP 脚本语言
超文本 Preprocessor(PHP)是主要用于服务器端脚本的通用脚本语言,可让您使用 Web 服务器运行 PHP 代码。
在 RHEL 8 中,PHP 脚本语言由 php 模块提供,该模块可在多个流(版本)中可用。
根据您的用例,您可以安装所选模块流的特定配置集:
-
common- 使用 Web 服务器进行服务器端脚本的默认配置文件。它包括多个广泛使用的扩展。 -
minimal- 此配置集只安装命令行来使用 PHP 编写脚本,而无需使用 Web 服务器。 -
devel- 此配置集包含来自common配置集的软件包以及用于开发用途的其他软件包。
16.6.1. 安装 PHP 脚本语言 复制链接链接已复制到粘贴板!
您可以安装 php 模块的所选版本。
流程
要使用默认配置集安装
php模块流,请使用:yum module install php:stream
# yum module install php:streamCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您要安装的 PHP 版本替换 stream。
例如,要安装 PHP 8.0:
yum module install php:8.0
# yum module install php:8.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认
common配置集安装php-fpm软件包,并预配置 PHP 以用于Apache HTTP 服务器或nginx。要安装
php模块流的特定配置集,请使用:yum module install php:stream/profile
# yum module install php:stream/profileCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您要安装的 配置集 的名称替换 stream。
例如,要安装 PHP 8.0 以供不使用 Web 服务器:
yum module install php:8.0/minimal
# yum module install php:8.0/minimalCopy to Clipboard Copied! Toggle word wrap Toggle overflow
16.6.2. 通过 Web 服务器使用 PHP 脚本语言 复制链接链接已复制到粘贴板!
16.6.2.1. 在 Apache HTTP 服务器中使用 PHP 复制链接链接已复制到粘贴板!
在 Red Hat Enterprise Linux 8 中,Apache HTTP 服务器 允许您将 PHP 作为 FastCGI 进程服务器运行。FastCGI Process Manager(FPM)是一种替代 PHP FastCGI 守护进程,它允许网站管理高负载。PHP 在 RHEL 8 中使用 FastCGI 流程管理器。
您可以使用 FastCGI 进程服务器运行 PHP 代码。
先决条件
在您的系统上安装 PHP 脚本语言。
请参阅 安装 PHP 脚本语言。
流程
安装
httpd模块:yum module install httpd:2.4
# yum module install httpd:2.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动
Apache HTTP 服务器:systemctl start httpd
# systemctl start httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,如果
Apache HTTP服务器已在您的系统中运行,请在安装 PHP 后重启httpd服务:systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动
php-fpm服务:systemctl start php-fpm
# systemctl start php-fpmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 在引导时启用这两个服务:
systemctl enable php-fpm httpd
# systemctl enable php-fpm httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要获取有关 PHP 设置的信息,请在
/var/www/html/目录中创建带有以下内容的index.php文件:echo '<?php phpinfo(); ?>' > /var/www/html/index.php
# echo '<?php phpinfo(); ?>' > /var/www/html/index.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要运行
index.php文件,请将浏览器指向:http://<hostname>/
http://<hostname>/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果您有具体要求,请调整配置:
-
/etc/httpd/conf/httpd.conf- 一般的httpd配置 -
/etc/httpd/conf.d/php.conf-httpd特定 PHP 配置 -
/usr/lib/systemd/system/httpd.service.d/php-fpm.conf- 默认情况下,php-fpm服务与httpd一起启动 -
/etc/php-fpm.conf- FPM 主配置 -
/etc/php-fpm.d/www.conf- 默认www池配置
-
例 16.1. 运行"Hello, World!"使用 Apache HTTP 服务器的 PHP 脚本
在
/var/www/html/目录中为您的项目创建一个hello目录:mkdir hello
# mkdir helloCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/var/www/html/hello/目录中创建hello.php文件,其内容如下:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动
Apache HTTP 服务器:systemctl start httpd
# systemctl start httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要运行
hello.php文件,请将浏览器指向:http://<hostname>/hello/hello.php
http://<hostname>/hello/hello.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 因此,会显示带有 "Hello, World!" 文本的网页。
16.6.2.2. 使用带有 nginx web 服务器的 PHP 复制链接链接已复制到粘贴板!
您可以通过 nginx web 服务器运行 PHP 代码。
先决条件
在您的系统上安装 PHP 脚本语言。
请参阅 安装 PHP 脚本语言。
流程
安装
nginx模块流:yum module install nginx:stream
# yum module install nginx:streamCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用要安装的
nginx版本替换 stream。例如,要安装
nginx版本 1.18::yum module install nginx:1.18
# yum module install nginx:1.18Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动
nginx服务器:systemctl start nginx
# systemctl start nginxCopy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,如果
nginx服务器已在您的系统中运行,请在安装 PHP 后重启nginx服务:systemctl restart nginx
# systemctl restart nginxCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动
php-fpm服务:systemctl start php-fpm
# systemctl start php-fpmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 在引导时启用这两个服务:
systemctl enable php-fpm nginx
# systemctl enable php-fpm nginxCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要获取 PHP 设置的信息,请在
/usr/share/nginx/html/目录中使用以下内容创建index.php文件:echo '<?php phpinfo(); ?>' > /usr/share/nginx/html/index.php
# echo '<?php phpinfo(); ?>' > /usr/share/nginx/html/index.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要运行
index.php文件,请将浏览器指向:http://<hostname>/
http://<hostname>/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果您有具体要求,请调整配置:
-
/etc/nginx/nginx.conf-nginx主配置 -
/etc/nginx/conf.d/php-fpm.conf- FPM 配置nginx -
/etc/php-fpm.conf- FPM 主配置 -
/etc/php-fpm.d/www.conf- 默认www池配置
-
例 16.2. 运行"Hello, World!"使用 nginx 服务器的 PHP 脚本
在
/usr/share/nginx/html/目录中为您的项目创建一个hello目录:mkdir hello
# mkdir helloCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/usr/share/nginx/html/hello/目录中创建一个包含以下内容的hello.php文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动
nginx服务器:systemctl start nginx
# systemctl start nginxCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要运行
hello.php文件,请将浏览器指向:http://<hostname>/hello/hello.php
http://<hostname>/hello/hello.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 因此,会显示带有 "Hello, World!" 文本的网页。
16.6.3. 使用命令行运行 PHP 脚本 复制链接链接已复制到粘贴板!
PHP 脚本通常使用 Web 服务器运行,但也可以使用命令行来运行。
如果只使用命令行运行 php 脚本,请安装 php 模块流的 minimal 配置集。
请参阅 安装 PHP 脚本语言。
先决条件
在您的系统上安装 PHP 脚本语言。
请参阅 安装 PHP 脚本语言。
流程
在文本编辑器中,创建一个
filename.php文件将 filename 替换为您的文件名称。
从命令行执行创建
filename.php文件:php filename.php
# php filename.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow
例 16.3. 运行"Hello, World!"使用命令行 PHP 脚本
使用文本编辑器,创建包含以下内容的
hello.php文件:<?php echo 'Hello, World!'; ?><?php echo 'Hello, World!'; ?>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从命令行执行
hello.php文件:php hello.php
# php hello.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 结果会输出 "Hello, World!"。