我在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
看起来这个错误很可能与PHP8(https://php.watch/versions/8.1/GLOBALS-restrictions)有关,但是测试矩阵应该只运行PHP 7.2和7.4(测试在PHP 7.4上本地运行良好)。
错误显示在GitHub Actions. Testing matrix is here中。
任何帮助非常感谢!
编辑:
通过在容器中专门设置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
3条答案
按热度按时间lmvvr0a81#
您使用的是PHPUnit 7.5.20,它是PHP 8的not compatible。
jqjz2hbq2#
在PHP 8.1上运行CI作业时出现相同错误,其中Composer安装在
--prefer-lowest
上,phpunit版本为8.5.12将
phpunit/phpunit
依赖关系从>=8.5
迁移到>=8.5.23
确实解决了此问题。igsr9ssn3#
对于PHP版本7.0.33,它工作正常。
从PHP版本8.1:$GLOBALS变量限制可用。