该容器镜像包含PHP 5.6,作为构建PHP 5.6应用程序的https://github.com/openshift/source-to-image%E5%9F%BA%E7%A1%80%E9%95%9C%E5%83%8F%E3%80%82%E7%94%A8%E6%88%B7%E5%8F%AF%E9%80%89%E6%8B%A9%E5%9F%BA%E4%BA%8ERHEL%E6%88%96CentOS%E7%9A%84%E6%9E%84%E5%BB%BA%E5%99%A8%E9%95%9C%E5%83%8F%EF%BC%9ARHEL%E9%95%9C%E5%83%8F%E5%8F%AF%E4%BB%8ERed Hat Container Catalog获取,镜像名为registry.access.redhat.com/rhscl/php-56-rhel7;CentOS镜像可从https://hub.docker.com/r/centos/php-56-centos7/%E8%8E%B7%E5%8F%96%EF%BC%8C%E9%95%9C%E5%83%8F%E5%90%8D%E4%B8%BA%60centos/php-56-centos7%60%E3%80%82%E7%94%9F%E6%88%90%E7%9A%84%E9%95%9C%E5%83%8F%E5%8F%AF%E9%80%9A%E8%BF%87http://docker.io%E8%BF%90%E8%A1%8C%E3%80%82
PHP 5.6容器镜像是构建和运行各种PHP 5.6应用程序及框架的基础平台。PHP是一种HTML嵌入式脚本语言,旨在帮助开发者轻松编写动态生成的网页。PHP还提供了对多种商业和非商业数据库管理系统的内置集成,因此编写数据库支持的网页变得简单。PHP最常见的用途可能是作为CGI脚本的替代品。
使用独立https://github.com/openshift/source-to-image%E6%9E%84%E5%BB%BA%E7%AE%80%E5%8D%95%E7%9A%84https://github.com/sclorg/s2i-php-container/tree/master/5.6/test/test-app%E5%BA%94%E7%94%A8%EF%BC%8C%E5%B9%B6%E9%80%9A%E8%BF%87http://docker.io%E8%BF%90%E8%A1%8C%EF%BC%9A
RHEL基础镜像
bash$ s2i build https://github.com/sclorg/s2i-php-container.git --context-dir=5.6/test/test-app rhscl/php-56-rhel7 php-test-app $ docker run -p 8080:8080 php-test-app
CentOS基础镜像
bash$ s2i build https://github.com/sclorg/s2i-php-container.git --context-dir=5.6/test/test-app centos/php-56-centos7 php-test-app $ docker run -p 8080:8080 php-test-app
访问应用
bash$ curl 127.0.0.1:8080
可在源代码仓库的.sti/environment文件中设置键值对形式的环境变量,配置PHP和Apache行为。
PHP配置变量(php.ini)
| 变量名 | 描述 | 默认值 |
|---|---|---|
| ERROR_REPORTING | PHP错误、警告和通知的报告级别 | E_ALL & ~E_NOTICE |
| DISPLAY_ERRORS | 是否输出错误、通知和警告 | ON |
| DISPLAY_STARTUP_ERRORS | 是否单独处理启动阶段错误 | OFF |
| TRACK_ERRORS | 是否将最后错误信息存储在$php_errormsg中 | OFF |
| HTML_ERRORS | 是否将错误链接到相关文档 | ON |
| INCLUDE_PATH | PHP源文件路径 | .:/opt/app-root/src:/opt/rh/rh-php56/root/usr/share/pear |
| SESSION_NAME | 会话名称 | PHPSESSID |
| SESSION_HANDLER | 会话保存方式 | files |
| SESSION_PATH | 会话数据文件位置 | /tmp/sessions |
| SESSION_COOKIE_DOMAIN | Cookie有效的域名 | 空 |
| SESSION_COOKIE_HTTPONLY | 是否添加httpOnly标志到Cookie | 0 |
| SESSION_COOKIE_SECURE | 是否仅通过安全连接发送Cookie | Off |
| SHORT_OPEN_TAG | 是否识别标签间的代码 | OFF |
| DOCUMENTROOT | 应用程序的DocumentRoot路径 | / |
OPcache配置变量(opcache.ini)
| 变量名 | 描述 | 默认值 |
|---|---|---|
| OPCACHE_MEMORY_CONSUMPTION | OPcache共享内存存储大小(MB) | 128 |
| OPCACHE_REVALIDATE_FREQ | 脚本时间戳检查频率(秒,0为每次请求检查) | 2 |
PHP配置路径覆盖
| 变量名 | 描述 |
|---|---|
| PHPRC | 设置php.ini文件路径 |
| PHP_INI_SCAN_DIR | 扫描额外ini配置文件的路径 |
Apache MPM配置
| 变量名 | 描述 | 默认值 |
|---|---|---|
| HTTPD_START_SERVERS | 启动时创建的子服务器进程数 | 8 |
| HTTPD_MAX_REQUEST_WORKERS | 同时处理的最大请求数(httpd 2.3.13前称为MaxClients) | 256(通过公式总内存/15MB自动调整,15MB为单个httpd进程平均大小) |
Composer配置
| 变量名 | 描述 |
|---|---|
| COMPOSER_MIRROR | 自定义Composer仓库镜像URL(仅影响composer.json中的包) |
| COMPOSER_INSTALLER | 覆盖默认Composer安装器URL(适用于隔离环境) |
| COMPOSER_ARGS | 添加到composer install命令的额外参数(如--no-dev) |
现有PHP项目仓库无需修改,但以下文件会影响构建过程:
composer.json
需安装的依赖列表,格式参考Composer schema。
.htaccess
若应用的DocumentRoot嵌套在/opt/app-root/src目录下,可提供自定义Apache .htaccess文件,用于覆盖Apache行为和指定请求处理方式,需位于应用源代码根目录。
要立即应用源代码更改,需运行镜像时通过Docker -e标志传递环境变量OPCACHE_REVALIDATE_FREQ=0:
bash$ docker run -e OPCACHE_REVALIDATE_FREQ=0 -p 8080:8080 php-app
修改运行中容器的源代码,使用Docker exec命令:
bashdocker exec -it <容器ID> /bin/bash
执行后当前目录为/opt/app-root/src(源代码所在位置)。
可通过https://github.com/openshift/source-to-image%E6%89%A9%E5%B1%95%E9%95%9C%E5%83%8F%E5%86%85%E5%AE%B9%E3%80%81%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC%E5%92%8C%E9%85%8D%E7%BD%AE%E3%80%82%E5%BA%94%E7%94%A8%E7%BB%93%E6%9E%84%E5%A6%82%E4%B8%8B%EF%BC%9A
| 文件夹名称 | 描述 |
|---|---|
./httpd-cfg | 包含额外的Apache配置文件(*.conf) |
./httpd-pre-init | 包含Apache启动前执行的shell脚本(*.sh) |
./httpd-ssl | 包含自定义SSL证书(certs/子目录)和密钥(private/子目录) |
./ | 应用程序源代码 |
Dockerfile及其他源代码位于https://github.com/sclorg/s2i-php-container%EF%BC%8C%E8%AF%A5%E4%BB%93%E5%BA%93%E8%BF%98%E5%8C%85%E5%90%AB%E5%85%B6%E4%BB%96PHP%E7%89%88%E6%9C%AC%E7%9A%84Dockerfile%E3%80%82CentOS%E7%9A%84Dockerfile%E5%90%8D%E4%B8%BA%60Dockerfile%60%EF%BC%8CRHEL%E7%9A%84Dockerfile%E5%90%8D%E4%B8%BA%60Dockerfile.rhel7%60%E3%80%82
-p 8080:8080
开放容器8080端口并映射到主机相同端口。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务