Instalación de PHP en macOS

6/24

Lectura

¿Una clase de lectura? 😫 ¡Sí! Pero no es cualquier clase de lectura, esta es la mejor clase de lectura que tendrás nunca… Bueno, en realidad solo vamos a instalar PHP en macOS, pero vamos ¡acompáñame, será divertido!

☝️ Instalar PHP en macOS es muy similar a hacerlo con Linux… Sí, tenemos MAMP y XAMPP para macOS, pero recuerda que los chicos cool lo hacemos de la forma más pro y fancy posible usando la terminal 😎.

Antes de poder instalar PHP en macOS necesitamos tener instalado Homebrew…

Home… ¿Qué?.. 🤔 ¡Sí! Homebrew, este es el manejador de paquetes de macOS. Es similar al apt que vimos en Linux, solo que este es para computadoras con macOS. Con este manejador simplemente debemos decirle qué queremos instalar y él solito irá e instalará el paquete que queramos.

Si aún no tienes Homebrew en tu computadora, te recomiendo tomar el Curso de Prework: Configuración de Entorno de Desarrollo en macOS en donde aprenderás a dejar tu computadora macOS 100% lista para que aprendas a programar lo que tú quieras 😎 (y aprenderás a instalar Homebrew por supuesto).

Dicho esto, ¡vamos a lo que nos interesa!

🐘 Instalación de PHP y Apache con Homebrew

Para empezar a instalar PHP primero debemos abrir la terminal nativa de macOS y asegurarnos de que Homebrew está instalado. Esto podemos hacerlo con el comando brew --version. Si te da una respuesta diciéndote qué versión de Homebrew tienes es porque todo está listo para empezar.

Primero debemos instalar una librería llamada curl. Esta librería es usada por PHP para descargar otros complementos necesarios. Podemos instalarla con este comando:

brew install curl

Con esta librería instalada, de la misma forma en la que lo hicimos con Linux, necesitaremos instalar nuestro servidor web (Apache) junto con alguna versión de nuestro lenguaje de programación. Por ejemplo PHP 8.0 que es la versión que estaremos usando en nuestro curso. En el caso de Homebrew, el paquete para instalar Apache es llamado httpd, por lo que con el siguiente comando deberíamos poder instalar Apache junto con PHP 8.0:

brew install httpd [email protected]8.0

Esto empezará a descargar todo lo necesario para instalar Apache y PHP. Puede tomar un tiempo así que ve por un cafecito y relájate ☕️.

Captura de pantalla 2021-11-12 a la(s) 12.34.51 p. m..png

De la misma forma que en Linux, en macOS también puedes instalar cualquier otra versión de PHP especificándoselo a Homebrew:

brew install [email protected]7.4

☝️ Recuerda NO usar sudo cuando usas Homebrew. Esto es porque Homebrew no requiere de permisos de administrador, ya que se considera inseguro y peligroso darle todos los accesos a algún programa.

🤔 ¿Cómo puedo cambiar entre versiones de PHP?

Aunque ya instalamos la versión 8.0 y la versión 7.4 de PHP, verás que si corres el comando php --version te va a decir que tienes la versión 7.1… ¿What?

Captura de pantalla 2021-11-12 a la(s) 1.09.25 p. m..png

Bien, esto sucede porque por defecto PHP ya viene instalado en macOS, pero en su versión 7.1. Debemos decirle a macOS que queremos usar otra versión de PHP. Para cambiar entre versiones de PHP primero debemos decirle a Homebrew que deje de usar la versión actual, después le decimos cuál es la versión que quiero usar ahora y por último agregamos esa versión a nuestro PATH, es decir, con estos comandos debería bastar. Simplemente, debes cambiar el 8.0 por la versión que quieras usar:

brew unlink php
brew link --force [email protected]0
export PATH="/usr/local/opt/[email protected]/bin:$PATH"  
export PATH="/usr/local/opt/[email protected]/sbin:$PATH"

Ahora si vuelves a ejecutar el comando php --version verás que ya tenemos habilitada la versión 8.0 😎

Captura de pantalla 2021-11-12 a la(s) 2.13.53 p. m..png

💻 Levantando nuestro servidor Apache

Como ya vimos, una página web requiere de un servidor web. En este caso Apache es el servidor web que nos ayudará a poner en línea nuestra página web, sin embargo, necesitamos hacer unas configuraciones antes. Para ello en tu terminal escribe el siguiente comando:

sudo nano /usr/local/etc/httpd/httpd.conf

Esto nos abrirá este editor de texto en la terminal, no te preocupes por todas esas cosas raras que ves ahí, simplemente vamos a hacer unos cambios muy chiquititos.

Captura de pantalla 2021-11-12 a la(s) 2.29.27 p. m..png

En primera, debemos cambiar el puerto de Apache, ya que Homebrew establece por defecto el puerto 8080, sin embargo, las páginas web suelen mostrarse en el puerto 80. Para cambiar esto, presiona las teclas ctrl + w y se te abrirá un cuadro de búsqueda, ahí escribe “Listen 8080” y presiona “enter”. Esto te llevará a una línea en donde se especifica qué puerto usar, así que simplemente cambia ese 8080 que está escrito por 80, eso es todo 😄.

Captura de pantalla 2021-11-12 a la(s) 2.44.41 p. m..png

Con esto ya cambiamos el puerto. Ahora debemos enlazar PHP con Apache, para ello basta con que bajes un poquito presionando la tecla con la flecha hacia abajo y te toparás con esta lista enorme de LoadModule:

Captura de pantalla 2021-11-12 a la(s) 2.52.51 p. m..png

Simplemente, debes agregar una nueva línea en donde tú quieras con el siguiente código:

LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so

Ahora simplemente vamos a agregar unas últimas configuraciones. Vuelve a presionar Ctrl + W⁣, ya que haremos otra búsqueda y escribe “DirectoryIndex”, presiona “enter” y te debe de llevar hacia este apartado:

Captura de pantalla 2021-11-12 a la(s) 2.57.52 p. m..png

Aquí lo único que debes hacer es cambiar la línea que dice DirectoryIndex index.html por esta línea:

DirectoryIndex index.php index.html

Debería quedarte así:

Captura de pantalla 2021-11-12 a la(s) 2.59.48 p. m..png

Por último al final de tu archivo agrega lo siguiente:


	SetHandler application/x-httpd-php

¡Y eso es todo! 🤞Lo prometo… Ahora para que todo quede listo y guardado, simplemente presiona ctrl + o, te pedirá confirmación así que únicamente debes presionar “enter” y por último puedes salir presionando ctrl + x.

Lo único que queda hacer es reiniciar nuestros servicios para que los cambios se apliquen 😎. Para ello simplemente ejecutamos estos dos comandos:

brew services restart php
sudo apachectl -k start

Y si entramos a localhost deberías ver este mensaje:

Captura de pantalla 2021-11-12 a la(s) 3.29.24 p. m..png

¡Y con eso ya tienes PHP y Apache corriendo! Ahora simplemente puedes empezar a crear todas tus carpetas y archivos PHP dentro de la carpeta /usr/local/var/www/.

Aportes 16

Preguntas 14

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Solo dos pequeños errores que encontré al seguir la guía en mi computadora que se corrigieron de la siguiente manera:

LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so

Esta línea se cambia por lo siguiente, necesitan verificar en la estructura de sus carpetas de acuerdo a la instalación que hayan realizado.

LoadModule php_module /usr/local/opt/[email protected]8.0/lib/httpd/modules/libphp.so

Y por último al reiniciar el servicio php en brew con el siguiente comando:

brew services restart [email protected]8.0

Como pueden notar en realidad es agregar la versión de php que se instala en su sistema.

PD: Me agrada la forma de explicar del profe!!! Por cierto felicidades amigo, tus aportes son de lo mejor y ahora tu curso es una maravilla, gracias por tu esfuerzo y tu tiempo.

Saludos

Compañeros os comparto otra forma de tener un servidor php.

Navega por la terminal hasta donde tenga la carpeta de trabajo cd/aw/miTrabrajo/
dentro ejecutais php -S 127.0.0.1:8000 // listo

Da tu like si te ha servido

Para revisar qué versiones ya tienes instaladas puedes usar:

brew list | grep php

Para los que presenten el problema de que en Mac M1 el archivo en
sudo nano /usr/local/etc/httpd/httpd.conf esta vacio.

Utilzar la siguiente dirección

sudo nano /etc/apache2/httpd.conf

y si quieren editar en vs-code reemplzar nano por code

sudo code /etc/apache2/httpd.conf

quien mas lo leyó con el carisma de RetaxMaste ???

Mientras se instalaba todo me prepare unos mates

Tuve ciertos errores con las rutas de los archivos utilizados. Lo solucioné utilizando los siguientes comandos:

sudo nano /opt/homebrew/etc/httpd/httpd.conf

LoadModule php_module /opt/homebrew/opt/[email protected]8.0/lib/httpd/modules/libphp.so

Parece que las rutas de instalación que utiliza el tutorial son las rutas por defecto de Mac, pero Homebrew utiliza rutas distintas.

It works!

Al momento de iniciar el servicio de Apache me salió el siguiente error:

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ... . Set the 'ServerName' directive globally to suppress this message
httpd (no pid file) not running

Para solucionarlo, hay que editar el archivo httpd.conf en dos ubicaciones:

sudo nano /etc/apache2/httpd.conf

Y en:

sudo nano /opt/homebrew/etc/httpd/httpd.conf

Buscamos con control + W ServerName y cambiamos

#ServerName www.example.com:8080 

Por

ServerName 127.0.0.1

La ruta que muestra el tutorial para levantar el servidor Apache no me funcionó, así que utilicé esta:

sudo nano /opt/homebrew/etc/httpd/httpd.conf

No me permite hacer el cambio de versión de PHP

Guia 100% fiable para 2022 con M1 https://getgrav.org/blog/macos-monterey-apache-multiple-php-versions (no acentos)

Holaa vengo de Windows… aprendiendo de Linux 😃

**2022 **
El archivo de configuración del servidor apache :
/opt/homebrew/etc/httpd/httpd.conf

Enlazar php con apache :
LoadModule php_module /opt/homebrew/opt/php/lib/httpd/modules/libphp.so

puro linux

A mi funciono con esta direccion

LoadModule php_module /usr/local/opt/[email protected]8.0/lib/httpd/modules/libphp.so