IronWoods.es

Desarrollo web

Actualizar Laravel para trabajar con PHP 8

PHP 8 fue lanzado en noviembre de 2020... empezó la cuenta atrás para su instalación y uso con Laravel.

Tras actualizar PHP a la versión 8, he seguido este procedimiento repetidamente con éxito en Laravel 6 y 7, en un sistema Ubuntu + Apache2.

Actualizando...

Actualizar Composer

Se requiere la versión 2 de composer, para actualizar:

sudo composer self-update

Actualizar dependencias de Laravel

En el "composer.json" de Laravel cambiar la versión requerida de PHP y dependencias a:


"php": "^8.0",
"fakerphp/faker" : "^1.9.1",
"phpunit/phpunit": "^9.5"

Guardar y ejecutar:

composer update --ignore-platform-reqs

Actualizar configuración de PHPUnit:

php ./vendor/bin/phpunit --migrate-configuration

Solución actualizada

He clonado en mi equipo un proyecto que desarrolle con Laravel 7 y PHP 7.4, y los pasos anteriores ya no funcionan con mi entorno actual: PHP 8.0.7 / Composer 2.0.11.

El comando:

composer install --ignore-platform-reqs

lanza el mensaje:

[Symfony\Component\Console\Exception\RuntimeException]

The "--ignore-platform-req" option requires a value.

Pasos a seguir

Añadir la plataforma a composer, ejecutar:

composer config -g -e

Y añadir:


{
    "config": {
        "platform":{
            "php":"8.0.7"
        }
    }
}

Al intentar instalar las dependencias:

composer install

Aparecen varios avisos de incompatibilidad de las dependencias con la versión de PHP en la terminal y al final el texto:

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Lanzar el comando:

composer update -W --ignore-platform-reqs

La instalación de las dependencias finaliza y puede ejecutarse el proyecto en local.