{"id":230425,"date":"2022-11-29T15:02:00","date_gmt":"2022-11-29T12:02:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230425"},"modified":"2022-11-29T15:03:01","modified_gmt":"2022-11-29T12:03:01","slug":"executer-plusieurs-versions-de-php-avec-homebrew","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/executer-plusieurs-versions-de-php-avec-homebrew\/","title":{"rendered":"Ex\u00e9cuter plusieurs versions de PHP avec Homebrew"},"content":{"rendered":"\n<p>L&rsquo;un des d\u00e9fis de la cr\u00e9ation de solutions sur WordPress est de travailler avec les diff\u00e9rents environnements fournis par chaque h\u00f4te.<\/p>\n<p>C&rsquo;est-\u00e0-dire que certains ex\u00e9cutent encore de tr\u00e8s anciennes versions de PHP ; d&rsquo;autres ex\u00e9cutent des versions plus r\u00e9centes, mais m\u00eame dans ce cas, il existe des variations entre elles.<\/p>\n<p>Exemple: j&rsquo;utilise PHP 7.2 sur ma machine locale pour le d\u00e9veloppement depuis un certain temps ; cependant, je suis actuellement sur un projet o\u00f9 quelques-unes des d\u00e9pendances de l&rsquo; <strong><a href=\"https:\/\/circleci.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">outil d&rsquo;int\u00e9gration continue<\/a><\/strong> ne prennent en charge que PHP 7.1.<\/p>\n<p>Et parce que j&rsquo;aime que mon environnement de d\u00e9veloppement refl\u00e8te les environnements de pr\u00e9production et de production, je pense qu&rsquo;il est important de s&rsquo;assurer qu&rsquo;il y a parit\u00e9.<\/p>\n<p>Si vous utilisez un gestionnaire de packages, il est assez facile de d\u00e9marrer avec plusieurs versions de PHP avec <strong><a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Homebrew<\/a><\/strong>, mais vous pouvez rencontrer quelques probl\u00e8mes en ce qui concerne son ex\u00e9cution avec <strong><a href=\"https:\/\/laravel.com\/docs\/5.6\/valet\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Valet<\/a><\/strong>.<\/p>\n<h2>Plusieurs versions de PHP avec Homebrew<\/h2>\n<p>Tout d&rsquo;abord, vous voulez vous assurer que PHP 7.1 est install\u00e9. Pour ce faire, il vous suffit d&rsquo;ex\u00e9cuter la commande suivante dans votre terminal. Cela installera le paquet mais rien de plus. Vous utiliserez toujours la version de PHP que vous utilisez actuellement.<\/p>\n<pre><code>$ brew install php@7.1<\/code><\/pre>\n<p>Apr\u00e8s cela, vous devrez dire \u00e0 Homebrew de supprimer le lien symbolique qu&rsquo;il a cr\u00e9\u00e9 vers la version actuelle de PHP que vous utilisez, puis de le lier au package que vous venez de t\u00e9l\u00e9charger.<\/p>\n<p>Pour ce faire, saisissez la commande suivante\u00a0:<\/p>\n<pre><code>$ brew unlink php &amp;&amp; brew link --force php@7.1<\/code><\/pre>\n<p>Vous vous souvenez de tout ce qui parle <strong><a href=\"https:\/\/wordpress.mediadoma.com\/fr\/un-guide-rapide-des-shells-dans-macos\/\" title=\"de coquillages\">de coquillages<\/a><\/strong>? Vous devrez vous assurer que votre shell &#8211; dans ce cas, Bash &#8211; conna\u00eet la version de PHP que vous souhaitez utiliser.<\/p>\n<pre><code>export PATH=\"\/usr\/local\/opt\/php@7.1\/bin:$PATH\"\n\nexport PATH=\"\/usr\/local\/opt\/php@7.1\/sbin:$PATH\"<\/code><\/pre>\n<p>Ensuite, r\u00e9pertoriez tous les services en cours d&rsquo;ex\u00e9cution. Vous pouvez le faire en saisissant la commande suivante\u00a0:<\/p>\n<pre><code>$ brew services list<\/code><\/pre>\n<p>Une fois que vous avez fait cela, vous verrez une liste des services en cours d&rsquo;ex\u00e9cution ainsi que le compte sous lequel certains d&rsquo;entre eux s&rsquo;ex\u00e9cutent.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163822-61e759e32cdbe.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163822-61e759e32cdbe.png\" alt=\"Ex\u00e9cuter plusieurs versions de PHP avec Homebrew\"><\/a><\/p>\n<p>Si certains s&rsquo;ex\u00e9cutent en tant que <strong>root<\/strong>, vous devrez les d\u00e9marrer et les arr\u00eater en utilisant <strong>sudo<\/strong> ; sinon, vous pouvez les arr\u00eater et les d\u00e9marrer \u00e0 l&rsquo;aide de vos commandes standard.<\/p>\n<pre><code>$ sudo brew services stop php\n\n$ sudo brew services stop php@7.1\n\n$ sudo brew services start php@7.1<\/code><\/pre>\n<p>Apr\u00e8s cela, vous voudrez probablement red\u00e9marrer Valet car cela garantira que PHP, Nginx et Dnsmasq sont tous red\u00e9marr\u00e9s.<\/p>\n<pre><code>$ valet restart<\/code><\/pre>\n<p>Cela devrait compl\u00e9ter tout ce que vous devez faire pour \u00e9changer des versions de PHP.<\/p>\n<h2>V\u00e9rifiez votre travail<\/h2>\n<p>Pour v\u00e9rifier que votre serveur Web utilise bien la derni\u00e8re version de Nginx, je vous recommande de cr\u00e9er un r\u00e9pertoire unique (j&rsquo;appelle le mien b\u00eata), de le lier \u00e0 l&rsquo;aide de Valet, puis de d\u00e9poser un fichier <strong>index.php<\/strong> dans le r\u00e9pertoire qui comprend le <strong>phpinfo();<\/strong> appel de fonction.<\/p>\n<p>De cette fa\u00e7on, vous pouvez obtenir toutes sortes d&rsquo;informations sur votre environnement.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163822-61e759e7abe3d.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163822-61e759e7abe3d.png\" alt=\"Ex\u00e9cuter plusieurs versions de PHP avec Homebrew\"><\/a><\/p>\n<p>\u00c0 partir de l\u00e0, vous devriez voir une variation de PHP 7.1 (ou quoi que ce soit que vous ayez install\u00e9). Et si vous le faites, alors vous \u00eates pr\u00eat \u00e0 partir; sinon, vous devrez peut-\u00eatre revoir la d\u00e9sinstallation et la r\u00e9installation de Valet.<\/p>\n<p>Mais c&rsquo;est un peu une \u00e9tape extr\u00eame, et tout ce que vous voyez ci-dessus devrait en tenir compte.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comment ex\u00e9cuter plusieurs versions de PHP les unes \u00e0 c\u00f4t\u00e9 des autres en utilisant \u00e0 la fois Homebrew et Valet.<\/p>\n","protected":false},"author":1,"featured_media":163823,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[717,801,841],"tags":[1167],"class_list":["post-230425","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developpeur","category-php-3","category-tutoriels","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/230425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/comments?post=230425"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/230425\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/163823"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=230425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=230425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=230425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}