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:
Y añadir:
{
"config": {
"platform":{
"php":"8.0.7"
}
}
}
Al intentar instalar las dependencias:
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.