
PHP 8.5.5 是一个不存在的版本号——截至 2026 年 6 月,PHP 官方从未发布过 PHP 8.5 系列的任何正式版本。你看到的 PHP 8.5.5 很可能是:
- 某个第三方镜像仓库(如私有 Docker Registry)里误标或自建的测试标签
- 开发者本地
Dockerfile中手写的FROM php:8.5.5,实际构建时会报manifest unknown - 文档/教程未更新导致的笔误(把
8.3.5或8.4.5错写成8.5.5)
真正可用的最新稳定版是 php:8.3,候选版是 php:8.4-rc(预计 2024 年底发布正式版)。别在环境配置里写 8.5.5,否则所有后续操作都会卡在镜像拉取失败这一步。
怎么确认自己用的是真实 PHP 版本?
执行以下命令,看输出是否匹配官方发布记录:
docker run --rm php:8.3 php -v
你会看到类似 PHP 8.3.12 (cli) 的输出;而 docker run --rm php:8.5.5 php -v 必然失败。
立即学习“PHP免费学习笔记(深入)”;
如果你是从某篇教程或 GitHub 项目里抄来的 8.5.5,请直接查该项目的 composer.json 或 .php-version 文件——大概率它实际依赖的是 ^8.3 或 ~8.4.0,只是文档没同步更新。
用 docker-compose 搭一个可跑的 PHP 8.3 开发环境
这是目前最省事、最接近“开箱即用”的方式,不用装 Apache、配 php.ini、调权限:
-
./src目录下放你的index.php(必须存在,否则 Apache 返回 403) - 挂载自定义
php.ini时,记得打开display_errors = On和error_reporting = E_ALL - 宿主机文件权限要匹配容器内
www-data用户(UID 33),运行chown -R 33:33 ./src避免 500 错误 - 端口映射别用
80:80(可能被系统服务占),改用8080:80更稳妥
示例 docker-compose.yml:
version: '3.8'
services:
app:
image: php:8.3-apache
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
- ./php.ini:/usr/local/etc/php/php.ini
environment:
TZ: Asia/ShanghaiWindows 上手动装 PHP,别碰 php:8.5.5 这种假版本
如果你坚持不用 Docker,而是解压 ZIP 包 + Apache 手动集成,注意三点:
- 去 windows.php.net/download/ 下载真实存在的版本,比如
php-8.3.12-Win32-vs17-x64.zip(Thread Safe) - Apache 的
LoadModule路径要严格对应:8.3 用php8apache2_4.dll,不是php85apache2_4.dll(后者不存在) -
php.ini里extension_dir必须写绝对路径,例如extension_dir = "C:/PHP/ext",相对路径或空值会导致扩展全失效
测试文件 test.php 写完后,浏览器访问 http://localhost:8080/test.php,看到 PHP Version 8.3.12 才算真正跑起来了。
最容易被忽略的一点:所有声称支持 PHP 8.5.5 的工具链(Laravel Sail、Lando、甚至某些 IDE 的 PHP 解释器配置项)其实底层都 fallback 到 8.3 或 8.4-rc。别被表层版本号带偏,先验证 php -v 输出再说。



















