发布于2026-07-15 阅读(0)
扫一扫,手机访问
shivammathur/setup-php@v2 支持 PHP 8.3,但需使用其最新版(2026 年中已内置),且必须显式声明 php-version: '8.3'(字符串格式)、启用 mbstring/xml/curl/json/phar/zip 等扩展,否则因缺失扩展或行为变更(如 mysqlnd 默认禁用、autoload 路径校验变严)导致 CI 失败。

如果你最近在 GitHub Actions 里尝试跑 PHP 8.3 的 CI 流水线,八成已经碰到了这样那样的问题。最典型的就是,直接写个 php-version: '8.3',结果 Action 报错说 Version 8.3 not found。这其实不奇怪——PHP 8.3 在 GitHub Actions 的 Runner 里可不是预装好的,必须显式声明并安装,而且写法有讲究。
shivammathur/setup-php@v2 支持 php8.3 吗?好消息是支持,坏消息是有不少前提。这个 Action 的 v2 版本,到 2026 年中已经内置了 PHP 8.3 的支持,但前提是你要用最新版,否则旧缓存可能压根不认得 8.3。更关键的是,即使版本对了,也得配合 extension 参数明确把常用扩展给打开,比如 mbstring、xml、curl、json、phar、zip 这些——不这么干,后面 composer install 或者测试执行到一半就会翻车。
常见错误长什么样?要么是 PHP Fatal error: Uncaught Error: Call to undefined function mb_strlen(),要么是 Could not find package ... Your requirements could not be resolved.——后者通常意味着 json 或 phar 扩展没装上去。
实操层面,几点硬指标:
with: php-version: '8.3',注意是字符串形式,不能写成 8.3.0,也不能省略引号。extensions: mbstring,xml,curl,json,phar,zip。coverage: none),避免测试跑起来变慢甚至超时。matrix 多版本测试时,php8.3 要单独处理吗?不需要单独拎出来特殊对待,但有两个兼容性断点值得留意。第一,PHP 8.3 默认把 mysqlnd 给禁用了——如果项目里用了 PDO::MYSQL_ATTR_INIT_COMMAND,那效果就是直接报错。第二,ext-gd 在 Ubuntu 22.04+ 上需要额外安装系统包(比如 libfreetype6-dev),光靠 setup-php 是装不上的。
所以推荐的做法是:测试矩阵里保留 '8.1'、'8.2'、'8.3',然后在 steps 中统一加一条系统级依赖安装指令(仅当用到 GD 或 ImageMagick 时):
run: sudo apt-get update && sudo apt-get install -y libfreetype6-dev libjpeg-dev libpng-dev
另外,务必确认在 8.3 下没有调用已经废弃的函数(比如 create_function()),否则 CI 会直接判定失败。
composer install 在 php8.3 下失败的常见原因问题真的出在 Composer 版本上吗?其实不是。根本原因往往是 PHP 8.3 自身的行为变更。比如,它严格校验 vendor/autoload.php 的加载路径,要是项目用了自定义 autoload-dev 且里面包含相对路径,就会抛出 Warning: require(): Failed opening required。再比如,ext-opcache 默认开启了,但某些旧扩展(像 ioncube)和它冲突,导致 composer dump-autoload -o 运行时报错。
建议在执行之前先跑个检查:
run: php -v && php -m | grep -E "(mbstring|xml|curl|json)"
安装时可以考虑加上 --no-plugins 参数,避免第三方插件干扰。如果项目依赖 composer.lock 文件,确保生成它的环境 PHP 版本 ≥ 8.3——否则 platform 配置可能会被忽略。
说到底,PHP 8.3 的 CI 配置关键不在于“能不能跑”,而在于“哪些扩展默认关了、哪些警告升级成了错误”。漏掉任意一个隐式变更,流水线就会在看似无关的步骤里突然中断,这才是最让人头疼的地方。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8