Developpez.com - Rubrique PHP

Le Club des Développeurs et IT Pro

Tutoriel pour apprendre comment installer plusieurs versions de PHP sous Windows grâce à Symfony

Par Alexandre Tranchant

Le 2020-06-11 18:35:35, par Alexandre T, Membre expert
Bonjour à tous,

Nouvel article dans la rubrique PHP : comment gérer plusieurs versions de PHP sous Windows avec Symfony ?

Après la version pour Linux avec PHPBrew, voici une solution pour Windows grâce à l'utilitaire embarqué de Symfon

Vos commentaires, corrections et remarques sont les bienvenues.

Merci ;!
  Discussion forum
5 commentaires
  • grunk
    Modérateur
    Intéressant , mais quand on utilise pas symfony c'est dommage de devoir récupérer leur utilitaire.

    Pour ma part je me contente d'un simple lien symbolique vers le bon dossier de PHP :

    Ex :
    Code :
    mklink /d current "C:\Program Files\Webserver\bin\PHP\7.4.2"
    Toutes les références à PHP (apache, path , etc ...) se font donc sur "current".
    Comme je ne change pas souvent de version je refait le lien quand j'ai besoin mais il serait simple de faire un bat qui fait tout ca tout seul.
  • Alexandre T
    Membre expert
    Bonjour Grunk,

    La particularité de Symfony est sélectionner une version par rapport à un fichier local dans le répertoire de l'application. L'avantage de cette solution est d'aider les développeurs qui jonglent sur plusieurs applications. C'est notamment le cas des équipes en charge de faire les mises à jour de sécurité de bibliothèques sur un panel large d'applications. Comme le fichier indiquant quelle version utilisée se trouve dans le répertoire de l'application, le développeur n'a plus à se préoccuper de la version active. Ils savent que Sympfony fera appel à la bonne version, s'ils reviennent dessus et mettent à jour leur gestionnaire de dépendance, par exemple.

    C'est aussi très utile pour ceux qui développent des bibliothèques devant tourner sur plusieurs versions de PHP. Ces développeurs changent beaucoup de version. Ils ont parfois trois clones de la bibliothèque, dans chaque clone, ils placent un fichier .php-version et ils déroulent les tests en parallèle avant le push.

    Néanmoins, ta solution reste excellente. Je pense qu'elle est même meilleure si on change très peu de version, car tu installes une application de moins.

    Alexandre
  • grunk
    Modérateur
    La particularité de Symfony est sélectionner une version par rapport à un fichier local dans le répertoire de l'application.
    C'est vrai que quant on à pas le choix de l'environnement c'est du coup extrêmement pratique.

    Mais du coup dans ce genre de conditions est ce que Docker aurait pas plus d'intérêt ? Parce que en général ce n'est pas que la version de php qui diffère mais toute la stack.
  • Alexandre T
    Membre expert
    Oui, Docker est une bonne solution quand on utilise tout le framework de Symfony par exemple. En général, la gestion des sessions est gérée par redis, la base de données par PostgreSQL.

    Dans le cas d'une bibliothèque ou d'une application déployée chez plusieurs clients qui n'ont pas tous les mêmes serveurs ni les mêmes versions de PHP, c'est plus délicat.
  • bndd24
    Membre habitué
    Super article ! Ton article est très utile je viens de me sortir la tête de l'eau.

    Par contre tu peux aussi mettre le path dans Variables utilisateur pour xxx plutôt que dans Variables système.

    Aujourd'hui je viens de refaire entièrement mon installation de développeur sur mon PC. Je ne passe plus du tout par Wamp, j'ai installé MySQL, PHP donc je n'ai plus besoin de Wamp (dans mon cas). Je trouve que c'est plus professionnel et plus propre.