remove mac instalar etiquetas change php macos shell path mamp

mac - ¿Cómo anular la ruta de PHP para usar la ruta MAMP?



install php macos (11)

Después de arruinar completamente mi configuración de PHP en MAC tratando de hacer funcionar el módulo SOAP (-bash: / usr / bin / php: No existe ese archivo o directorio ....) Ahora tengo que usar MAMP pero cada vez que tengo que escribir el camino

Applications/MAMP/bin/php5.3/bin/php to do command line.

¿Cómo simplemente escribir php en su lugar la ruta completa en MAC? Comprobé dos veces y no tengo un archivo llamado .profile ni bash_profile

Gracias

PD: Esto es lo que echo echo $ PATH:

echo $PATH /Applications/MAMP/Library/bin/:/Applications/MAMP/bin/php5/bin/:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin


A veces, es más fácil hacer esto:

sudo ln -s /Applications/MAMP/bin/php/php5.6.10/bin/php /usr/bin/php;

La versión de Mamps de PHP en el momento de la publicación era php5.6.10 , así que asegúrese de cambiarla a la versión que está usando.

Estarás despierto en un santiamén.


Descubrí que en Mavericks 10.8 no había un .bash_profile y mis rutas estaban ubicadas en / etc / paths

Para que la nueva ruta (ya sea una instalación de mamp o brew de php) tenga efecto, debe estar por encima del / usr / bin / php predeterminado en este archivo de rutas. p.ej.

/Applications/MAMP/bin/php/php5.3.6/bin /usr/bin

Después del cambio, abra una nueva ventana de terminal y ejecute ''which php'' que ahora debe apuntar a su ruta actualizada


El hecho de que la respuesta aceptada anteriormente se refiera a php 5.3.6, mientras que la versión actual de MAMP se incluye con 7.2.1 como valor predeterminado (a partir de principios de 2018), señala que esta no es una solución muy sostenible. Puede hacer que su ruta se actualice automáticamente agregando una línea adicional a .bash_profile para obtener la última versión de PHP desde /Applications/MAMP/bin/php/ y exportarla a su ruta. Así es como lo hago:

# Use MAMP version of PHP PHP_VERSION=`command ls /Applications/MAMP/bin/php/ | sort -n | tail -1` export PATH=/Applications/MAMP/bin/php/${PHP_VERSION}/bin:$PATH

(Utilice source ~/.bash_profile después de hacer los cambios para asegurarse de que tengan efecto).

Como han mencionado otros, probablemente también desee modificar su caparazón para usar el ejecutable mysql de MAMP, que se encuentra en /Applications/MAMP/Library/bin . Sin embargo, no recomiendo exportar esa carpeta, porque hay muchos otros ejecutables allí, como libtool , que probablemente no desee dar prioridad a las versiones instaladas de su sistema. Este problema me impidió instalar un paquete de nodos recientemente (libxmljs), como se documenta here .

Mi solución fue definir y exportar mysql y mysqladmin como funciones:

# Export MAMP MySQL executables as functions # Makes them usable from within shell scripts (unlike an alias) mysql() { /Applications/MAMP/Library/bin/mysql "$@" } mysqladmin() { /Applications/MAMP/Library/bin/mysqladmin "$@" } export -f mysql export -f mysqladmin

Usé funciones en lugar de alias, porque los alias no se pasan a procesos secundarios, o al menos no en el contexto de un script de shell. El único inconveniente que he encontrado es que ejecutar which mysql y which mysqladmin ya no devolverá nada, lo cual es una lástima. Si desea verificar qué mysql se está utilizando y asegurarse de que todo sea copacetic, use mysql --version lugar.

Nota: @julianromera señala que zsh no es compatible con las funciones de exportación, por lo que en ese caso, es mejor que utilice un alias, como alias mysql=''/Applications/MAMP/Library/bin/mysql'' . Solo tenga en cuenta que sus alias podrían no estar disponibles en las subcapas (como cuando se ejecuta un script de shell).


En su carpeta de inicio /Users/David para exmaple, puede crear un .bash_profile . Aquí puede exportar variables y luego agregarlas a su ruta.

Abra el archivo para editarlo en su editor favorito, yo uso vim.

Entonces puedes agregar en tu camino

export MAMP_PHP=/Applications/MAMP/bin/php/php5.3.6/bin export PATH="$MAMP_PHP:$PATH"

Usted quiere que su bit esté por delante de $PATH ya que eso incluye /usr/bin que es donde vive el sistema PHP. Entonces, el sistema siempre encontrará primero su versión de MAMP.

Guarde este archivo y luego reinicie su Terminal y verá que debe obtener su versión de MAMP.

Para probar utilizo php -v ya que OSX Lion usa 5.3.10 y mi MAMP usa 5.3.6
También puede probar con which php generará la ruta de su actual ejecutable php.


Esta no es una solución ideal, ya que tienes que administrar dos archivos ini, sin embargo, logré solucionar esto en Windows copiando el archivo php ini en mamp desde la carpeta conf a tu versión php activa en la carpeta bin.

[MAMP INSTALL]/conf/[ACTIVE PHP VERSION]/php.ini

copiar a

[MAMP INSTALL]/bin/php/[ACTIVE PHP VERSION]


Este trabajó para mí:

sudo mv /usr/bin/php /usr/bin/~php sudo ln -s /Application/XAMPP/xamppfiles/bin/php /usb/bin/php


Para complementar la respuesta aceptada actual, si supone que MAMP usa la versión más reciente de php5 como la predeterminada, puede agregar grep ''php5'' en el medio:

PHP_VERSION= `ls /Applications/MAMP/bin/php/ | sort -n | grep ''php5'' | tail -1`

y tiene la garantía de obtener el php5 más reciente independientemente de la versión de MAMP.


Para los usuarios de XAMPP puedes usar esto:

# Use XAMPP version of PHP export PATH=/Applications/XAMPP/xamppfiles/bin:$PATH source ~/.bash_profile

Y puedes verificarlo con:

php -v


Probablemente sea demasiado tarde para comentar, pero esto es lo que hice cuando me encontré con problemas para configurar php PATH para la instalación de mi XAMPP en Mac OSX

  1. Abra el archivo .bash_profile (que se encuentra debajo de la carpeta de usuario actual) usando el editor de texto disponible.
  2. Agregue la ruta de la siguiente manera:

export PATH = / ruta / a / su / php / instalación / bin : deja / reposo / de / el / cosas / no tocado / : $ PATH

  1. Guarde su .bash_profile y reinicie su Mac.

Explicación: Terminal / Mac intenta ejecutar una búsqueda en las PATHS que conoce, con la esperanza de encontrar el programa, cuando el usuario inicia un programa desde la "Terminal", de ahí el truco aquí es hacer que la terminal encuentre el php, el el usuario tiene la intención de, apuntando a la versión del usuario de PHP en alguna carpeta bin, instalada por el usuario.

Trabajó para mi :)

PD. Todavía soy una oveja perdida alrededor de mi computadora nueva;)


Si tiene que escribir

/Applications/MAMP/bin/php5.3/bin/php

en tu línea de comando luego agrega

/Applications/MAMP/bin/php5.3/bin

a su RUTA para poder llamar a php desde cualquier lugar.


es posible que todavía se encuentre con binario mysql que no se encuentra de esa manera

open terminal, type touch ~/.bash_profile; open ~/.bash_profile

edite de la siguiente manera, guarde, quite y reinicie la terminal o alternativamente

source ~/.bash_profile

para ejecutar una nueva RUTA sin reiniciar la terminal

y al estilo de la publicación anterior de DavidYell, también agregue lo siguiente. Puede apilar varias variables exportándolas seguidas por una única exportación PATH que he demostrado a continuación

export MAMP_PHP=/Applications/MAMP/bin/php/php5.6.2/bin export MAMP_BINS=/Applications/MAMP/Library/bin export USERBINS=~/bins export PATH="$USERBINS:$MAMP_PHP:$MAMP_BINS:$PATH"

aclamaciones