Dev*_*ice 17 php phpunit github-actions
我在 GitHub 操作上运行 PHPUnit 测试时遇到错误。
PHP Fatal error: Cannot acquire reference to $GLOBALS in /home/runner/work/project-name/project-name/vendor/phpunit/phpunit/src/Util/Configuration.php on line 570
Run Code Online (Sandbox Code Playgroud)
看起来这个错误可能与 PHP8 ( https://php.watch/versions/8.1/GLOBALS-restrictions ) 有关,但测试矩阵应该只运行 PHP 7.2 和 7.4 (测试在 PHP 7.4 上本地运行良好)。
GitHub Actions中显示此处的错误。测试矩阵在这里。
非常感谢任何帮助!
--
编辑:
作为第一步,通过在容器中专门设置 PHP 版本来解决此问题:
# PHPUnit errors with latest PHP 8.X build.
# This specifically sets PHP version to 7.4.
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
tools: phpunit
Run Code Online (Sandbox Code Playgroud)
Rva*_*aak 13
--prefer-lowest在使用 phpunit 版本 8.5.12安装 Composer 的 PHP 8.1 上运行 CI 作业时出现相同的错误
将phpunit/phpunit依赖关系从>=8.5改为>=8.5.23确实解决了这个问题。