es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

PHPUnit no puede obtener una referencia a $GLOBALS.

Estoy obteniendo un error al ejecutar pruebas de PHPUnit en GitHub actions.


Error fatal de PHP: No se puede adquirir una referencia a $GLOBALS en /home/runner/work/nombre-proyecto/nombre-proyecto/vendor/phpunit/phpunit/src/Util/Configuration.php en la línea 570

Parece que este error está relacionado probablemente con PHP8 (https://php.watch/versions/8.1/GLOBALS-restrictions), pero la matriz de pruebas solo debería ejecutar PHP 7.2 y 7.4 (las pruebas se ejecutan correctamente localmente en PHP 7.4).

Error mostrado aquí en GitHub Actions. La matriz de pruebas está aquí.

Cualquier ayuda será muy apreciada.

Editado:

Resolví esto estableciendo específicamente la versión de PHP en el contenedor como primer paso:

“`

<h1>Errores de PHPUnit con la última compilación de PHP 8.X.</h1>

<h1>Esto establece específicamente la versión de PHP en 7.4.</h1>

<ul>
<li>name: Configurar PHP con herramientas
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
tools: phpunit
“`

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el error está relacionado con PHP8, aunque la matriz de pruebas se está ejecutando en PHP 7.2 y 7.4. Según el mensaje de error, PHPUnit no puede adquirir una referencia a $GLOBALS, lo cual es una restricción conocida en PHP8. Puedes intentar resolver este problema estableciendo específicamente la versión de PHP en 7.4 en el contenedor.

    Puedes hacer esto agregando el siguiente código como el primer paso en tu flujo de trabajo de GitHub Actions:

    - name: Configurar PHP con herramientas
      uses: shivammathur/setup-php@v2
      with:
        php-version: '7.4'
        tools: phpunit
    

    Esto asegurará que el contenedor se esté ejecutando en PHP 7.4 y debería resolver el problema con PHPUnit. Después de realizar este cambio, vuelve a ejecutar las pruebas y verifica si el error persiste.

    Espero que esto te ayude, ¡avísame si tienes alguna otra pregunta!

Comments are closed.