Docker 应用安装脚本

install_php72_base_docker.sh

一个托管在 helper.sh 的脚本,会创建 /data/php7.2 目录结构、写入基础 php.ini、拉取 php:7.2-fpm,并以宿主机挂载目录的方式启动容器。

一键命令

curl -fL 'https://www.helper.sh/install_php72_base_docker.sh' -o './install_php72_base_docker.sh'

此命令只下载本站文件,不会执行。请先检查保存的源码并核对版本,再决定是否运行。

核对已下载文件

与本页面构建时内置的确切字节比较。文件只在当前标签页处理,此工具不上传、不持久化文件。上限 2 MiB。

预期 SHA-256
16e8a4eadeee92eb8c1cef84932dbeaf10bacb92e43a7003f632e6a0b3204b9b

内置文件字节数: 4402

保存校验文件

将脚本和校验文件保存在同一目录。Linux 安装 GNU Coreutils 后可用下方命令只检查字节,不运行脚本;使用此命令时需保留原文件名。

sha256sum --check './install_php72_base_docker.sh.sha256'

尚未比较。

校验值与脚本来自同一网站,不是独立签名。一致不证明安全、上游依赖真实可信或适合本机;可变远程依赖需单独审阅。

查看验证与限制

运行要求

  • Linux 主机
  • Docker 已安装并运行
  • 需要 root 权限或 sudo
  • 9000 端口可用
  • /data 目录可写

适用场景

  • 在已经具备 Docker 环境的主机上快速拉起一个 PHP 7.2 运行时
  • 把 PHP 代码、配置和日志统一保存在 /data/php7.2 下
  • 为仍然依赖 PHP 7.2 的老项目提供标准化的启动入口,再按需接入 Nginx

脚本亮点

  • 自动创建 /data/php7.2/www、conf.d 和 logs
  • 拉取 php:7.2-fpm 并以可自动重启的容器方式运行
  • 写入一份带实用默认值的基础 php.ini
  • 默认提供一个占位 index.php 方便立即验证运行时

推荐流程

  1. 先确认 Docker 已安装可用,且宿主机的 9000 端口没有被占用。
  2. 使用 sudo 或 root 执行 helper.sh 提供的一键命令。
  3. 等待脚本准备 /data/php7.2、拉取 php:7.2-fpm,并创建容器。
  4. 如果后续需要对外提供 HTTP 访问,再把 Nginx 或其他 Web 服务器接到这个 PHP-FPM 容器前面。

安全提示

  • PHP 7.2 已属于老版本软件,请只在兼容性确实需要时使用。
  • 不要在没有前置 Web 服务审阅和补丁方案的情况下把老版本 PHP 直接暴露到公网。
  • 如果这是生产实例,替换或重建容器前请先备份 /data/php7.2。

兼容范围与限制

  • 需要 Linux、systemd、Docker 和 root 权限;默认发布 9000 端口。PHP 7.2 已停止支持,仅在旧应用兼容性确实需要时使用。
  • 脚本接受 --data-dir、--container-name 和 --port。启动的是 PHP-FPM,不是 HTTP 服务器;需使用经审阅的 Web 服务器和内网连接,不要公开 FPM 端口。
  • 没有 dry-run 或备份。重跑时会强制删除同名容器再替换;宿主机 bind mount 目录会继续复用。

受影响的文件、服务和数据

  • 创建 /data/php7.2/www、conf.d 和 logs。仅在 php.ini 或示例 index.php 不存在时写入。
  • Docker 未运行时会启动它,拉取可能变化的 php:7.2-fpm 标签,将宿主机 9000 端口映射到容器 9000,并创建自动重启容器。
  • 宿主机目录中的现有文件会保留并挂载进容器。就绪检查运行 `php -v`,并未验证 Web 服务器是否能通过 FPM 请求。

只读核验

  • 检查 `docker ps --filter name=php72` 和 `docker logs --tail 100 php72`。
  • 用 `docker inspect php72 --format '{{json .HostConfig.PortBindings}} {{json .Mounts}}'` 检查端口发布和挂载。
  • 运行 `docker exec php72 php -v` 查看运行时;通过已配置的内网 Web 服务器上游单独验证 FPM 连通性。

失败后的下一步

容器未就绪时检查 Docker 日志、端口冲突及 /data/php7.2 下的文件。不要把 `php -v` 当成 HTTP 网站正常提供服务的证明;重试前保全挂载文件。

先下载、审阅并核对版本,再决定是否执行。哈希只能标识这一版字节,不能证明安全。pipe 命令会立即执行远程内容;上游依赖也可能变化。

相关专题

Docker 服务:检查接口和保留状态

按协议、数据目录和替换影响区分 HTTP、SQL、缓存、FastCGI 或镜像内应用。

查看专题

旧 PHP:区分运行时兼容性和应用就绪

PHP 7.2/Workerman 3.5.24 示例用于有升级计划的遗留兼容工作。

查看专题