{"id":230548,"date":"2022-11-29T15:11:00","date_gmt":"2022-11-29T12:11:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230548"},"modified":"2022-11-29T15:13:53","modified_gmt":"2022-11-29T12:13:53","slug":"executando-varias-versoes-do-php-com-homebrew","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/executando-varias-versoes-do-php-com-homebrew\/","title":{"rendered":"Executando v\u00e1rias vers\u00f5es do PHP com Homebrew"},"content":{"rendered":"\n<p>Um dos desafios de construir solu\u00e7\u00f5es no WordPress \u00e9 trabalhar com os diversos ambientes que cada host oferece.<\/p>\n<p>Ou seja, alguns ainda est\u00e3o executando vers\u00f5es muito antigas do PHP; outros est\u00e3o executando vers\u00f5es mais recentes, mas mesmo assim existem varia\u00e7\u00f5es entre eles.<\/p>\n<p>Caso em quest\u00e3o: estou executando o PHP 7.2 na minha m\u00e1quina local para desenvolvimento h\u00e1 algum tempo; no entanto, estou atualmente em um projeto onde algumas das depend\u00eancias da <strong><a href=\"https:\/\/circleci.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ferramenta de integra\u00e7\u00e3o cont\u00ednua<\/a><\/strong> oferecem suporte apenas para PHP 7.1.<\/p>\n<p>E como gosto que meu ambiente de desenvolvimento espelhe os ambientes de prepara\u00e7\u00e3o e produ\u00e7\u00e3o, acho importante garantir que haja paridade.<\/p>\n<p>Se voc\u00ea estiver usando um gerenciador de pacotes, \u00e9 muito f\u00e1cil come\u00e7ar com v\u00e1rias vers\u00f5es do PHP com <strong><a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Homebrew<\/a><\/strong>, mas voc\u00ea pode encontrar alguns problemas no que se refere a execut\u00e1-lo ao lado de <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>V\u00e1rias vers\u00f5es do PHP com Homebrew<\/h2>\n<p>Primeiro, voc\u00ea quer ter certeza de que tem o PHP 7.1 instalado. Para fazer isso, basta executar o seguinte comando no seu terminal. Isso instalar\u00e1 o pacote, mas nada mais. Voc\u00ea ainda estar\u00e1 executando qualquer vers\u00e3o do PHP que estiver executando no momento.<\/p>\n<pre><code>$ brew install php@7.1<\/code><\/pre>\n<p>Depois disso, voc\u00ea precisar\u00e1 dizer ao Homebrew para remover o link simb\u00f3lico que ele criou para a vers\u00e3o atual do PHP que voc\u00ea est\u00e1 executando e vincul\u00e1-lo ao pacote que voc\u00ea acabou de baixar.<\/p>\n<p>Para isso, digite o seguinte comando:<\/p>\n<pre><code>$ brew unlink php &amp;&amp; brew link --force php@7.1<\/code><\/pre>\n<p>Lembra de toda aquela conversa <strong><a href=\"https:\/\/wordpress.mediadoma.com\/pt-pt\/um-guia-rapido-para-shells-no-macos\/\" title=\"sobre conchas\">sobre conchas<\/a><\/strong>? Voc\u00ea precisar\u00e1 ter certeza de que seu shell \u2013 neste caso, Bash \u2013 est\u00e1 ciente da vers\u00e3o do PHP que voc\u00ea deseja usar.<\/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>Em seguida, liste todos os servi\u00e7os que o brew est\u00e1 executando. Voc\u00ea pode fazer isso digitando o seguinte comando:<\/p>\n<pre><code>$ brew services list<\/code><\/pre>\n<p>Depois de fazer isso, voc\u00ea ver\u00e1 uma lista dos servi\u00e7os em execu\u00e7\u00e3o, bem como a conta na qual alguns deles est\u00e3o sendo executados.<\/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=\"Executando v\u00e1rias vers\u00f5es do PHP com Homebrew\"><\/a><\/p>\n<p>Se alguns estiverem sendo executados como <strong>root<\/strong>, voc\u00ea precisar\u00e1 inici\u00e1-los e par\u00e1-los usando <strong>sudo<\/strong> ; caso contr\u00e1rio, voc\u00ea pode par\u00e1-los e inici\u00e1-los usando seus comandos padr\u00e3o.<\/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>Depois disso, voc\u00ea provavelmente desejar\u00e1 reiniciar o Valet, pois isso garantir\u00e1 que o PHP, Nginx e Dnsmasq sejam todos reiniciados.<\/p>\n<pre><code>$ valet restart<\/code><\/pre>\n<p>Isso deve completar tudo o que voc\u00ea precisa fazer para trocar as vers\u00f5es do PHP.<\/p>\n<h2>Verifique seu trabalho<\/h2>\n<p>Para verificar se seu servidor web est\u00e1, de fato, usando a vers\u00e3o mais recente do Nginx, recomendo criar um \u00fanico diret\u00f3rio (chamo o meu beta), vincul\u00e1-lo usando Valet e, em seguida, soltar um arquivo <strong>index.php<\/strong> no diret\u00f3rio que inclui o arquivo <strong>phpinfo();<\/strong> chamada de fun\u00e7\u00e3o.<\/p>\n<p>Dessa forma, voc\u00ea pode obter todo tipo de informa\u00e7\u00e3o sobre seu ambiente.<\/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=\"Executando v\u00e1rias vers\u00f5es do PHP com Homebrew\"><\/a><\/p>\n<p>A partir daqui, voc\u00ea deve ver alguma varia\u00e7\u00e3o do PHP 7.1 (ou o que quer que voc\u00ea instalou). E se voc\u00ea fizer isso, ent\u00e3o voc\u00ea est\u00e1 pronto para ir; caso contr\u00e1rio, voc\u00ea pode precisar ver como desinstalar e reinstalar o Valet novamente.<\/p>\n<p>Mas isso \u00e9 um passo um pouco extremo, e tudo o que voc\u00ea v\u00ea acima deve cuidar disso.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como executar v\u00e1rias vers\u00f5es do PHP lado a lado usando Homebrew e 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":[722,806,846],"tags":[1170],"class_list":["post-230548","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvedor","category-php-8","category-tutoriais","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=230548"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230548\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/163823"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=230548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=230548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=230548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}