12.2. PHP
12.2.1. 描述
rhscl/php-73-rhel7 镜像提供了一个用于构建和运行应用程序的 PHP 7.3 平台。带有 npm
的 Node.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
文件中设置与其对等的属性值:
变量名称 | 描述 | 默认 |
---|---|---|
| 告知 PHP 定义要采取哪个错误、警告和通知 |
|
| 控制 PHP 将输出错误以及什么位置,通知和接收 |
|
| 导致 PHP 启动序列中出现的显示错误与显示错误分开处理 |
|
|
将最后的错误/警告消息存储在 |
|
| 将错误链接到与错误相关的文档 |
|
| PHP 源文件的路径 |
|
| 内存限制 | 128M |
| 会话的名称 |
|
| 保存会话的方法 |
|
| 会话数据文件的位置 |
|
| Cookie 有效的域 | |
| 是否向 Cookie 中添加 httpOnly 标记 |
|
| 指定 Cookie 是否只通过安全连接发送 |
|
| 确定 PHP 是否会识别 < 和 ?> 标签之间的代码 |
|
| 为您的应用程序定义 DocumentRoot 的路径(例如 /public) |
|
根据需要替换 rh-php7*
Software Collection 的版本。
以下环境变量在 opcache.ini
文件中设置其对等属性值:
变量名称 | 描述 | 默认 |
---|---|---|
| OPcache 共享内存存储大小(以 MB 为单位) | 128 |
| 检查更新的脚本时间戳的频率,以秒为单位。0 将导致 OPcache 检查每个请求的更新。 | 2 |
| OPcache 哈希表中的键(scripts)的最大数量。只允许 200 到 1000000 间的数字。 | 4000 |
您还可以通过设置来覆盖用于加载 PHP 配置的完整目录:
变量名称 | 描述 |
---|---|
|
设置到 |
| 扫描额外 ini 配置文件中的路径 |
您可以覆盖 Apache MPM prefork 设置来提高 PHP 应用的性能。如果您设置了 Cgroup 限制,则镜像将尝试自动设置最佳值。您可以通过自行指定值,随时覆盖此项:
变量名称 | 描述 | 默认 |
---|---|---|
| StartServers 指令设定启动时创建的子服务器进程数目。 | 8 |
| MaxRequestWorkers 指令设置要提供的并发请求数的限值。 |
256 (这可以通过使用这个公式为容器设置 Cgroup 限制来自动调整: |
您可以使用自定义 composer 存储库镜像 URL 来下载软件包,而不是默认的 packagist.org
:
变量名称 | 描述 |
---|---|
|
将自定义 composer 存储库镜像 URL 添加到 composer 配置。注:这只会影响 |
| 覆盖下载 https://getcomposer.org/installer Composer 的默认 URL。在断开连接的环境中很有用。 |
|
在 |
如果应用程序的 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
确保相应地更改源镜像版本。
应用程序的结构与以下示例类似:
目录名称 | 描述 |
---|---|
|
可以包含其他 Apache 配置文件( |
|
可以包含自己的 SSL 证书(在 |
|
可以包含在 |
|
可以包含 |
| 应用源代码 |