{"id":230154,"date":"2022-11-29T14:39:00","date_gmt":"2022-11-29T11:39:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230154"},"modified":"2022-11-29T14:44:54","modified_gmt":"2022-11-29T11:44:54","slug":"ejecutar-multiples-versiones-de-php-con-homebrew","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/ejecutar-multiples-versiones-de-php-con-homebrew\/","title":{"rendered":"Ejecutar m\u00faltiples versiones de PHP con Homebrew"},"content":{"rendered":"\n<p>Uno de los desaf\u00edos de crear soluciones en WordPress es trabajar con los diversos entornos que proporciona cada host.<\/p>\n<p>Es decir, algunos todav\u00eda ejecutan versiones muy antiguas de PHP; otros est\u00e1n ejecutando versiones m\u00e1s nuevas, pero incluso entonces hay variaciones entre ellos.<\/p>\n<p>Caso en cuesti\u00f3n: he estado ejecutando PHP 7.2 en mi m\u00e1quina local para desarrollo durante alg\u00fan tiempo; sin embargo, actualmente estoy en un proyecto en el que algunas de las dependencias de la <strong><a href=\"https:\/\/circleci.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">herramienta de integraci\u00f3n continua<\/a><\/strong> ofrecen soporte solo para PHP 7.1.<\/p>\n<p>Y como me gusta que mi entorno de desarrollo refleje los entornos de ensayo y producci\u00f3n, creo que es importante asegurarse de que haya paridad.<\/p>\n<p>Si est\u00e1 utilizando un administrador de paquetes, es bastante f\u00e1cil comenzar con varias versiones de PHP con <strong><a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Homebrew<\/a><\/strong>, pero puede encontrarse con un par de inconvenientes en lo que respecta a ejecutarlo junto con <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>M\u00faltiples Versiones de PHP con Homebrew<\/h2>\n<p>Primero, debe asegurarse de tener PHP 7.1 instalado. Para hacer esto, simplemente ejecute el siguiente comando en su terminal. Esto instalar\u00e1 el paquete pero nada m\u00e1s. Seguir\u00e1 ejecutando cualquier versi\u00f3n de PHP que est\u00e9 ejecutando actualmente.<\/p>\n<pre><code>$ brew install php@7.1<\/code><\/pre>\n<p>Despu\u00e9s de eso, deber\u00e1 decirle a Homebrew que elimine el enlace simb\u00f3lico que se cre\u00f3 a la versi\u00f3n actual de PHP que est\u00e1 ejecutando y luego vincularlo al paquete que acaba de descargar.<\/p>\n<p>Para hacer eso, ingrese el siguiente comando:<\/p>\n<pre><code>$ brew unlink php &amp;&amp; brew link --force php@7.1<\/code><\/pre>\n<p>\u00bfRecuerdas toda esa charla <strong><a href=\"https:\/\/wordpress.mediadoma.com\/es\/una-guia-rapida-de-shells-en-macos\/\" title=\"sobre conchas\">sobre conchas<\/a><\/strong>? Deber\u00e1 asegurarse de que su shell, en este caso, Bash, conozca la versi\u00f3n de PHP que desea 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>A continuaci\u00f3n, enumere todos los servicios que brew est\u00e1 ejecutando. Puede hacerlo ingresando el siguiente comando:<\/p>\n<pre><code>$ brew services list<\/code><\/pre>\n<p>Una vez que haga esto, ver\u00e1 una lista de los servicios que se est\u00e1n ejecutando, as\u00ed como la cuenta con la que se est\u00e1n ejecutando algunos de ellos.<\/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=\"Ejecutar m\u00faltiples versiones de PHP con Homebrew\"><\/a><\/p>\n<p>Si algunos se ejecutan como <strong>root<\/strong>, necesitar\u00e1 iniciarlos y detenerlos usando <strong>sudo<\/strong> ; de lo contrario, puede detenerlos e iniciarlos usando sus comandos est\u00e1ndar.<\/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>Despu\u00e9s de eso, es probable que desee reiniciar Valet, ya que esto asegurar\u00e1 que PHP, Nginx y Dnsmasq se reinicien.<\/p>\n<pre><code>$ valet restart<\/code><\/pre>\n<p>Esto deber\u00eda completar todo lo que necesita hacer para intercambiar versiones de PHP.<\/p>\n<h2>Verifica tu trabajo<\/h2>\n<p>Para verificar que su servidor web est\u00e9, de hecho, usando la \u00faltima versi\u00f3n de Nginx, recomiendo crear un solo directorio (llamo al m\u00edo beta), vincularlo usando Valet y luego colocar un archivo <strong>index.php<\/strong> en el directorio que incluye el <strong>phpinfo();<\/strong> Llamada de funci\u00f3n.<\/p>\n<p>De esta manera, puede obtener todo tipo de informaci\u00f3n sobre su entorno.<\/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=\"Ejecutar m\u00faltiples versiones de PHP con Homebrew\"><\/a><\/p>\n<p>Desde aqu\u00ed, deber\u00eda ver alguna variaci\u00f3n de PHP 7.1 (o lo que sea que haya instalado). Y si lo hace, entonces est\u00e1 listo para irse; de lo contrario, es posible que deba ver c\u00f3mo desinstalar y reinstalar Valet nuevamente.<\/p>\n<p>Pero ese es un paso un poco extremo, y todo lo que ves arriba deber\u00eda solucionarlo.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>C\u00f3mo ejecutar varias versiones de PHP juntas usando Homebrew y 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":[716,800,840],"tags":[1172],"class_list":["post-230154","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desarrollador","category-php-2","category-tutoriales","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/230154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=230154"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/230154\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/163823"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=230154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=230154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=230154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}