搜索

12.2. PHP

download PDF

12.2.1. 描述

rhscl/php-73-rhel7 镜像提供了一个用于构建和运行应用程序的 PHP 7.3 平台。带有 npmNode.js 预安装在 PHP 镜像中。

12.2.2. 权限

要拉取 rhscl/php-73-rhel7 镜像,以 root 用户身份运行以下命令:

# podman pull registry.redhat.io/rhscl/php-73-rhel7

12.2.3. 配置

要设置环境变量,请将它们作为键值对放在源代码存储库中的 .s2i/environment 文件中。

以下环境变量在 php.ini 文件中设置与其对等的属性值:

变量名称描述默认

ERROR_REPORTING

告知 PHP 定义要采取哪个错误、警告和通知

E_ALL & ~E_NOTICE

DISPLAY_ERRORS

控制 PHP 将输出错误以及什么位置,通知和接收

ON

DISPLAY_STARTUP_ERRORS

导致 PHP 启动序列中出现的显示错误与显示错误分开处理

OFF

TRACK_ERRORS

将最后的错误/警告消息存储在 $php_errormsg (boolean)中。

OFF

HTML_ERRORS

将错误链接到与错误相关的文档

ON

INCLUDE_PATH

PHP 源文件的路径

.:/opt/app-root/src:/opt/rh/rh-php73/root/usr/share/pear

PHP_MEMORY_LIMIT

内存限制

128M

SESSION_NAME

会话的名称

PHPSESSID

SESSION_HANDLER

保存会话的方法

files

SESSION_PATH

会话数据文件的位置

/tmp/sessions

SESSION_COOKIE_DOMAIN

Cookie 有效的域

 

SESSION_COOKIE_HTTPONLY

是否向 Cookie 中添加 httpOnly 标记

0

SESSION_COOKIE_SECURE

指定 Cookie 是否只通过安全连接发送

OFF

SHORT_OPEN_TAG

确定 PHP 是否会识别 < 和 ?> 标签之间的代码

OFF

DOCUMENTROOT

为您的应用程序定义 DocumentRoot 的路径(例如 /public)

/

根据需要替换 rh-php7* Software Collection 的版本。

以下环境变量在 opcache.ini 文件中设置其对等属性值:

变量名称描述默认

OPCACHE_MEMORY_CONSUMPTION

OPcache 共享内存存储大小(以 MB 为单位)

128

OPCACHE_REVALIDATE_FREQ

检查更新的脚本时间戳的频率,以秒为单位。0 将导致 OPcache 检查每个请求的更新。

2

OPCACHE_MAX_FILES

OPcache 哈希表中的键(scripts)的最大数量。只允许 200 到 1000000 间的数字。

4000

您还可以通过设置来覆盖用于加载 PHP 配置的完整目录:

变量名称描述

PHPRC

设置到 php.ini 文件的路径

PHP_INI_SCAN_DIR

扫描额外 ini 配置文件中的路径

您可以覆盖 Apache MPM prefork 设置来提高 PHP 应用的性能。如果您设置了 Cgroup 限制,则镜像将尝试自动设置最佳值。您可以通过自行指定值,随时覆盖此项:

变量名称描述默认

HTTPD_START_SERVERS

StartServers 指令设定启动时创建的子服务器进程数目。

8

HTTPD_MAX_REQUEST_WORKERS

MaxRequestWorkers 指令设置要提供的并发请求数的限值。

256 (这可以通过使用这个公式为容器设置 Cgroup 限制来自动调整: TOTAL_MEMORY / 15MB。15MB 是单个 httpd 进程的平均大小。

您可以使用自定义 composer 存储库镜像 URL 来下载软件包,而不是默认的 packagist.org

变量名称描述

COMPOSER_MIRROR

将自定义 composer 存储库镜像 URL 添加到 composer 配置。注:这只会影响 composer.json 中列出的软件包。

COMPOSER_INSTALLER

覆盖下载 https://getcomposer.org/installer Composer 的默认 URL。在断开连接的环境中很有用。

COMPOSER_ARGS

composer install 命令行添加额外的参数(如 --no-dev)。

如果应用程序的 DocumentRoot 位于源目录 /opt/app-root/src 中,用户可以提供自己的 .htaccess 文件。这允许覆盖 Apache 的行为并指定如何处理应用程序请求。.htaccess 文件需要位于应用程序源的根目录下。有关 .htaccess 的详情,请查看 Apache HTTP 服务器教程

12.2.4. 延长镜像

可以使用 Source-to-image 扩展 PHP 镜像

例如,要使用 ~/image-configuration/ 目录中的配置构建自定义 PHP 镜像 my-php-rhel7,请运行:

$ s2i build ~/image-configuration/ rhscl/php-73-rhel7 my-php-rhel7

确保相应地更改源镜像版本。

应用程序的结构与以下示例类似:

目录名称描述

./httpd-cfg

可以包含其他 Apache 配置文件(*.conf)

./httpd-ssl

可以包含自己的 SSL 证书(在 certs/ 子目录中)和密钥(在 private/ 子目录中)

./php-pre-start

可以包含在 httpd 启动前提供的 shell 脚本(*.sh)

./php-post-assemble

可以包含 assemble 脚本末尾提供的 shell 脚本(*.sh)

./

应用源代码

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.