¿Cómo actualizo PHP en Mac OS X?

7 minutos de lectura

avatar de usuario
el jefe

Siento que esta es una pregunta terriblemente obtusa, pero extrañamente, este problema está mal documentado.

Me gustaría actualizar PHP, pero hay varios problemas:

  • No hay un administrador de paquetes incorporado. MacPorts no reconoce php como un paquete instalado porque no instaló PHP por sí mismo.
  • Correr locate php indica que probablemente hay muchas dependencias.
  • No sé CÓMO se instaló php, ya que se incluyó con el sistema operativo, por lo que no sé si debo instalar desde la fuente o descargar archivos binarios. Tampoco conozco la forma correcta de desinstalar la versión anterior sin romper las dependencias.

Estoy corriendo en Leopard. Tengo la sensación de que Apple no quiere que actualices. ¿La compra de Snow Leopard y la actualización resolverían este problema (y los futuros como este)?

avatar de usuario
scott saunders

Es posible que desee consultar el paquete PHP de Marc Liyanage. Viene en un buen paquete de instalación de Mac OS X en el que puede hacer doble clic. Lo mantiene bastante actualizado.

http://php-osx.liip.ch/

Además, aunque la actualización a Snow Leopard no lo ayudará a realizar actualizaciones de PHP en el futuro, probablemente le proporcione una versión más nueva de PHP. Estoy ejecutando OS X 10.6.2 y tiene PHP 5.3.0.

  • ¡¡Gracias!! Estaba nervioso porque este proceso iba a ser más difícil.

    – Gavin

    06/04/2014 a las 15:33

  • Tenga en cuenta que este paquete no anula la versión original de PHP en la Mac, por lo que no funciona de inmediato, debe agregar el nuevo directorio a la PATH. Las instrucciones para hacerlo funcionar están en esa página (fui lo suficientemente estúpido como para perderme eso la primera vez).

    – Mono codificado

    10/04/2014 a las 18:52


  • ¡Guau! Después de pasar horas tratando de hacer funcionar el proceso de instalación a través de Homebrew, probé esto. ¡Súper rápido, súper fácil y realmente funcionó de inmediato! ¡Gracias!

    – Magnus

    17 de agosto de 2014 a las 16:29

  • Definitivamente la mejor opción. Tan indoloro (siempre que recuerde asegurarse de que su $PATH es correcto como lo señaló @CodedMonkey)

    – Darragh Enright

    28 de junio de 2015 a las 21:19

  • Además, vale la pena mencionar que a pesar de instalarse en un directorio separado, el instalador configura Apache para que todas sus aplicaciones web usen la versión de php recién instalada. Entonces, el truco PATH es útil solo si ejecuta php desde la línea de comando. Si desea ejecutar aplicaciones web, el instalador se encarga de todo.

    – fiacobelli

    30 de julio de 2015 a las 18:14


Yo uso esto: https://github.com/Homebrew/homebrew-php

El comando es:

$ xcode-select --install

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php

$ brew options php56
$ brew install php56

Luego configura en tu .bash_profile o .bashrc

# Homebrew PHP CLI
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"

  • Tenga en cuenta que esto no actualizará el PHP incrustado, sino que instalará uno nuevo. Me encontré con serios problemas al tener dos versiones instaladas, a pesar de la confusión…

    – Julián F. Weinert

    21/11/2016 a las 13:00

  • Intenté esto y también tuve muchos problemas, como que bash fallara al iniciarse, tuve que reinstalarlo. Tenga cuidado cuando pruebe estos comandos y esté atento a lo que Brew sugiere que debe hacer mientras procesa estas líneas.

    – Brac

    28 de diciembre de 2016 a las 23:21

  • Tenga en cuenta que homebrew/dupes y homebrew/versions ahora están en desuso.

    – medinasod

    19 de abril de 2017 a las 15:59

Creo que una manera simple de hacerlo es:

1 – Comprueba dónde está tu PHP actual:

$ which php
$ /usr/local/bin/php

¿Verás? Por lo general, los comandos que ejecutamos son un enlace en /usr/local/bin, así que…

2 – Desvincular este enlace actual de PHP

unlink /usr/local/bin/php

Si lo prefiere, antes de desvincularlo, verifique la ruta y luego elimine los archivos php (haga ls -al /usr/local/bin | grep php y luego rm -rf en el camino deseado)

3 – Instalar PHP 7.1

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

4 – Crea un nuevo enlace (usando el bin php 7.1 que tienes instalado)

ln /usr/local/php5-7.1.9-20170914-100859/bin/php /usr/local/bin/php

Como dije, es una forma simple de pensar.

avatar de usuario
mipadi

No hay un administrador de paquetes incorporado. MacPorts no reconoce php como un paquete instalado porque no instaló PHP por sí mismo.

Aún puede instalarlo con MacPorts. sudo port install php52 (o la versión que desee) instalará PHP.

No sobrescribirá la versión proporcionada por Apple. Lo instalará debajo /opt/local. Puedes añadir /opt/local al principio de tu $PATHy use la versión de MacPorts en su configuración de Apache.

avatar de usuario
usuario456584

Opción 1

Como se recomienda aquí, este sitio proporciona una línea conveniente y actualizada.

Esto no sobrescribe la versión base de PHP en su sistema, sino que la instala limpiamente en /usr/local/php5.

Opcion 2

Mi método preferido es simplemente instalar a través de Homebrew.

  • Te refieres a este? ¡Idealmente, resumiría todo aquí, ya sabe, por redundancia en caso de que se rompa el enlace y por simplicidad! También vale la pena señalar que tampoco reemplazará el php de Apple. ;PAGS

    – Cregox

    11/09/2015 a las 23:41

Antes de continuar, tengo la última versión (v5.0.15) de Servidor OS X (sí, horrible, lo sé… sin embargo, el servidor web parece funcionar bien). Busqué alto y bajo durante días tratando de actualizar (o al menos lograr que Apache señalara) una nueva versión de PHP. Mi mcrypt no funcionó, junto con otras extensiones e instalé y reinstalé PHP innumerables veces desde http://php-osx.liip.ch/ y otros tutoriales hasta que finalmente noté un poco de información escrita en un comentario en uno de los muchos diferentes .conf archivos que OS X Server guarda, que fue que OS X Server carga sus propios .conf archivo antes de que cargue Apache httpd.conf (situado en /etc/apache2/httpd.conf). El archivo del servidor se encuentra:

/Library/Server/Web/Config/apache2/httpd_server_app.conf

Cuando abre este archivo, debe comentar esta línea de la siguiente manera:

#LoadModule php5_module libexec/apache2/libphp5.so

Luego agregue la ruta correcta (que ya debería estar instalado si lo ha instalado a través del http://php-osx.liip.ch/ Enlace):

LoadModule php5_module /usr/local/php5/libphp5.so

Después de esta modificación, mi PHP finalmente cargó la instalación de PHP correcta. Dicho esto, si las cosas van mal, puede ser porque OS X está hecho para funcionar con la instalación nativa de PHP en el momento de la instalación de OS X. Para revertir, simplemente deshaga el cambio anterior.

De todos modos, espero que esto sea útil para cualquier otra persona que pase incontables horas en esto.

  • Te refieres a este? ¡Idealmente, resumiría todo aquí, ya sabe, por redundancia en caso de que se rompa el enlace y por simplicidad! También vale la pena señalar que tampoco reemplazará el php de Apple. ;PAGS

    – Cregox

    11/09/2015 a las 23:41

avatar de usuario
Dave Bacher

Actualizar a Snow Leopard no resolverá el problema principal de mantener PHP actualizado. Apple no siempre mantiene actualizado el software de terceros que incluye con las actualizaciones del sistema operativo. Y confiar en Apple para obtener la corrección de errores/actualización de seguridad que necesita es buscar problemas.

Además, recomendaría instalar a través de MacPorts (y hacer la configuración necesaria para usarlo en cambio de PHP de Apple) en lugar de intentar actualizar el PHP suministrado por Apple en su lugar. cualquier cosa que hagas para /usr/bin corre el riesgo de ser sobrescrito por alguna futura actualización de Apple.

  • La actualización de seguridad de Apple 2010-002 actualiza PHP de Leopard a 5.2.12.

    – Dave Bacher

    30 de marzo de 2010 a las 0:07

  • PHP 5.3.1 viene con Snow Leopard.

    – JAL

    17 de julio de 2010 a las 22:41

¿Ha sido útil esta solución?