Je travaille sur Laravel 5.4 avec PHP version 5.6.4 . Mon objectif est de mettre à niveau mon projet vers Laravel 5.7 avec PHP 7.1.
Ma question est la suivante: dois-je passer à la version 5.5> 5.6> 5.7 ou puis-je passer directement de 5.4 à 5.7?
Il suffit de mettre à jour votre dépendance laravel/framework
à 5.7.*
dans votre fichier composer.json
:
"require": {
"php": "^7.1.3",
"fideloper/proxy": "^4.0",
"laravel/framework": "5.7.*",
"laravel/tinker": "^1.0"
},
Ensuite, exécutez cette commande sur votre commande Invite: composer update
Vous obtiendrez un succès et votre Larvael passera à la version 5.7, plus de détails sont disponibles sur guide de mise à niveau
Mieux vaut mettre à niveau 5.5 d’abord puis aller avec les versions 5.6 et 5.7 car si vous voyez le guide de mise à niveau 5.5 et 5.6, certains paquets doivent également être mis à niveau pour que vous puissiez aller plus loin.
Pour les anciennes versions, vous pouvez regarder
De mon point de vue, il serait utile de procéder à la mise à niveau étape par étape. Cela aide à voir si votre application est déjà compatible avec toutes les modifications à apporter.
Si vous effectuez une mise à niveau vers la version 5.7 directement et si vous rencontrez des problèmes plus importants dus aux modifications, votre solution la plus rapide consiste à rétrograder à la version 5.4.
Si vous effectuez une mise à niveau vers la version 5.5 lors de la première étape, vous pouvez rendre votre application compatible à la version 5.5, la tester à fond, la déployer et commencer à tester ce qui doit être fait pour la mise à niveau vers la version 5.6.
Il suffit de mettre à jour votre dépendance laravel/framework à 5.7. * Dans votre fichier composer.json. Comme vous passez de la version 5.4 à la version 5.7, vous pouvez simplement exécuter
composer update
Et si vous avez modifié certains traits ou méthodes de Laravel dans votre application 5.4, vous pouvez vérifier ici pour plus d'informations
Non, vous ne devez pas effectuer la mise à niveau étape par étape, vous seul pouvez le faire: https://laravel.com/docs/5.7/upgrade
Vous pouvez simplement mettre à jour votre dépendance laravel/framework à 5.7. * Dans votre fichier composer.json
.
1. changement dans composer.json:
De:
"require": {
"php": ">=7.0.0",
"fideloper/proxy": "~3.3",
"laravel/framework": "5.4.*",
"laravel/tinker": "~1.0"
},
À:
"require": {
"php": ">=7.1.3",
"fideloper/proxy": "~4.0",
"laravel/framework": "5.6.*",
"laravel/tinker": "~1.0"
},
2. Remplacez le fichier app\Http\Middleware\TrustedProxies.php par le contenu ci-dessous:
<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Fideloper\Proxy\TrustProxies as Middleware;
class TrustProxies extends Middleware
{
/**
* The trusted proxies for this application.
*
* @var array
*/
protected $proxies;
/**
* The headers that should be used to detect proxies.
*
* @var string
*/
protected $headers = Request::HEADER_X_FORWARDED_ALL;
}
3. mise à jour du compositeur
composer update