skip to Main Content

I am getting an error when running PHPUnit tests on GitHub actions.

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

It seems like this error is likely related to PHP8 (https://php.watch/versions/8.1/GLOBALS-restrictions), but the test matrix should only be running PHP 7.2 and 7.4 (tests run fine locally on PHP 7.4).

Error shown here in GitHub Actions. Testing matrix is here.

Any help much appreciated!

Edit:

Resolved this by specifically setting the PHP Version in the container as the first step:

# 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

Answers


  1. You are using PHPUnit 7.5.20 which is not compatible with PHP 8.

    Login or Signup to reply.
  2. Had the same error when running a CI job on PHP 8.1 with Composer installation on --prefer-lowest with phpunit version 8.5.12

    Bumping the phpunit/phpunit dependency from >=8.5 to >=8.5.23 did resolve this issue.

    Login or Signup to reply.
  3. For PHP Version 7.0.33 it is working fine.

    From PHP Version 8.1: $GLOBALS variable restrictions available.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search