Cambiar PHP 8.2 por PHP 8.3 en Laravel Sail antes de actualizar a Laravel 13
Hola, bienvenido. En esta lección vamos a pasar el contenedor de Laravel Sail de PHP 8.2 a PHP 8.3, con el proyecto todavía en Laravel 12. Con PHP 8.3, Composer podrá actualizar también 2 herramientas que con PHP 8.2 no pasaban de su versión, y una de ellas, rector-laravel, cambia la forma de configurar Rector.
Es el primer paso del plan de la lección anterior, y lo hacemos sin cambiar nada más porque cada versión de PHP tiene sus propios avisos de obsolescencia.
De dónde sale la versión de PHP en Sail
En Sail, la versión de PHP no está en ningún archivo de configuración de Laravel: está en la imagen de Docker con la que arranca el contenedor laravel.test, y esa imagen se construye a partir del Dockerfile que indica el context de compose.yaml. Sail mantiene un Dockerfile por versión de PHP en vendor/laravel/sail/runtimes/, de PHP 8.0 a PHP 8.5 en la versión de Sail que tenemos instalada, así que cambiar de versión es apuntar a otra carpeta y reconstruir:
Es lo que describe la documentación de Sail sobre versiones de PHP (se abre en una pestaña nueva).
- 02Cambiar el runtime en compose.yaml
- 03Reconstruir la imagen y arrancar con PHP 8.3
- 04La restricción de PHP en composer.json
- 05rector-laravel 2.7 y withComposerBased()
- 06Comprobar el proyecto en PHP 8.3
- 07El commit