Come usare MAMP la versione di PHP invece di quella di default su OSX

Vorrei usare MAMP la versione di PHP invece di quella di default installato sul mio mac. Ho provato ad utilizzare

ln -s /Applications/MAMP/bin/php5.3/bin/php php

ma ho un “File esiste” errore. Qual è il modo migliore per risolvere questo quindi posso solo tipo php invece che il percorso completo?

 

7 Replies
  1. 78

    Non vorrei raccomandare cercando di modificare la versione di default di PHP che si chiama sulla linea di comando. Così facendo, si può rompere di altre parti del sistema, nonché di fornire voi con problemi in futuro, se si decide di aggiornare il sistema operativo.

    C’è un’alternativa che può soddisfare le vostre esigenze. È possibile creare un alias per la copia di MAMP php 5.3. Nel mio caso ho chiamato l’alias phpmamp. Aprire il terminale e digitare:

    alias phpmamp='/Applications/MAMP/bin/php5.3/bin/php'

    Ora, digitando phpmamp a riga di comando per avviare l’MAMP php interperter. Verificare digitando:

    phpmamp --help

    È molto probabile che desidera memorizzare questo, e qualsiasi altro alias, in un ~/.bash_profile Questo permetterà l’alias per mantenere il riavvio. In caso contrario, l’alias deve durare solo per la particolare sessione di terminale in. Ulteriori informazioni sulla creazione di un .bash_profile file può essere trovato qui:

    http://www.redfinsolutions.com/redfin-blog/creating-bashprofile-your-mac

    • Nelle versioni successive, alias phpmamp=’/Applications/MAMP/bin/php/php5.3.20/bin/php’ sostituire il 5.3.20 parte con la tua versione
    • È inoltre possibile creare un alias per “php”, che farà quello che stavi chiedendo, senza smanettare con le configurazioni: alias php=’/Applications/MAMP/bin/php5.3/bin/php’ Questo sarebbe necessario per strumenti automatizzati come Compositore per utilizzare la versione di php. Inoltre, ricordarsi di riavviare il terminale o di tipo “source ~/.bash_profile” per la modifica abbia effetto.
    • FWIW, l’ultima versione ha modificato il percorso un po’. Spero che questo aiuta qualcuno a evitare di “trova il mio percorso” purgatorio. 😀 alias phpmamp=’/Applications/MAMP/bin/php/php5.5.3/bin/php’
    • Ho usato questo metodo di prima, MA ho acceso il metodo seguito, perché il php di default di installazione non dispone di determinate estensioni installate (ad esempio, mcrypt). Questo è necessario in Laravel di installazione (con il Compositore) e uso artigianale.
    • Che cosa circa la variante di OP suggerimento e Giovanni suggerimento unito. Utilizzando un collegamento simbolico, ma chiamandolo phpmamp, e la creazione in /usr/local/bin invece le Applicazioni? Non sarebbe questo un modo migliore, come poi verranno mantenute riavvio senza la necessità di modificare il bash_profile, e sarebbe più facile per disegnare/ricordare che è stato creato, come esiste nella directory bin, invece di essere nascosto in bash script di profilo.
    • facendo alias è consigliato

  2. 102

    Ho creato un link simbolico all’originale php posizione.

    1. Individuare il vostro osx versione di php con:

    which php

    Il risultato dovrebbe essere:

    /opt/local/bin/php

    2. Backup (spostare) originale php:

    sudo mv /opt/local/bin/php /opt/local/bin/php.bak

    3. Creare il collegamento simbolico:

    sudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/php /opt/local/bin/php

    4. Eseguire la vostra nuova versione di php:

    php -v

    PS:

    In ordine per questo lavoro su El Capitan

    • Riavviare il Mac per RecoveryMode (tenere premuto Cmd+R all’avvio)
    • Aprire il Terminale e digitare: csrutil disable
    • Riavvio
    • sia : sudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/php /opt/local/bin/php

      o sudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/php /usr/bin/php
    • Riavvio di nuovo a RecoveryMode e ri-attivare il sistema di sicurezza: csrutil enable
    • Questa era la soluzione migliore per me. Anche quando ho usato il php alias CakePHP console di continuare ad utilizzare la versione in /usr/bin/.
    • Purtroppo, questo non funziona in El Capitan è più… la soluzione migliore ora è il bash_profile uno…
    • Io sono su El Capitan, e questo ha funzionato senza ulteriori passaggi.
  3. 65

    Preferisco non manomettere i file corrente, così ho anteposto il MAMP PHP cartella bin $PATH variabile env.

    È possibile modificare ~/.bash_profile e aggiungere la seguente riga all’inizio

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

    Basta cambiare la versione di PHP alla versione corrente che si sta utilizzando.

    Non dimenticate di fare source ~/.bash_profile dopo aver modificato il file.

    • Questo in realtà ha fatto il trucco per me, è anche il modo più semplice per modificare la versione di PHP in fretta!
    • Questo è il più sicuro e più semplice, e non richiede di eseguire nuovamente lo script(s) ogni volta che gli aggiornamenti del sistema operativo.
    • Migliore risposta! Ho usato un link simbolico a diversi anni, ma solo cambiando la variabile PATH è il modo più elegante, dal momento che non si ottiene il reset da MacOS aggiornamenti.
    • Questa è la migliore risposta, per ora, più sicuro & davvero facile!!
    • Questa è la risposta migliore. Se avete installato mamp si può solo cambiare l’installazione. Ho eseguito which php che mi ha dato /Applications/MAMP/bin/php/php7.1.8/bin/php. Così ho controllato la directory di installazione per Mamp e scoperto di che versioni ci sono stati. Poi mi sono imbattuto vim ~/.bash_profile, cambiato il percorso di esportazione per php per essere 7.0.22. Poi mi sono imbattuto source ~/.bash_profile. E che era, ora, quando ho eseguito which php nella riga di comando che ho ricevuto: /Applications/MAMP/bin/php/php7.0.22/bin/php E tutto ha funzionato come un fascino.
  4. 3

    Non ero soddisfatto con i risultati /soluzioni che ho trovato in rete finora, perché il php.ini configs non erano caricati correttamente in tutti i casi e in tutti i sistemi, espacially quando hai bisogno di moduli come ioncube e gli altri (è ancora più confuso su MAMP Pro). Ecco perché ho creato la mia versione di php alias (con configurazioni), così sono venuto con la seguente soluzione, come esempio (basato su MAMP Pro, ricordarsi di regolare il php.ini percorsi per le vostre esigenze):

    Modificare il tuo .bash_profile

    vim ~/.bash_profile

    E aggiungere le seguenti voci:

    alias php55="/Applications/MAMP/bin/php/php5.5.26/bin/php -c '/Library/Application Support/appsolute/MAMP PRO/conf/php5.5.26.ini'"
    alias php56="/Applications/MAMP/bin/php/php5.6.10/bin/php -c '/Library/Application Support/appsolute/MAMP PRO/conf/php5.6.10.ini'"
    alias php56cgi="/Applications/MAMP/bin/php/php5.6.10/bin/php-cgi -c '/Library/Application Support/appsolute/MAMP PRO/conf/php5.6.10.ini'"

    Re-Inizializzare .bash_profile nella corrente sessione di terminale (altrimenti non vedrai eventuali modifiche, a meno che non si riavvia il terminale):

    source ~/.bash_profile

    Se si dispone di alcuni moduli aggiuntivi installati, allora si può provare con php56 -v e si dovrebbe ottenere un output di ioncube, etc. i moduli. Altrimenti prova con php56 -i | grep “yourModuleNameOrSomethingElse”

    Ora siete in grado di facilmente utilizzare una delle versioni di php come “php56” nel terminale con tutte le configurazioni caricato. Quindi è perfetto per il test e di applicazioni attraverso tutte le iterazioni di versioni tra cui il diritto di php.ini di configurazione attraverso il terminale.

    Per il normale MAMP Utenti, la configurazione dovrebbe trovarsi in /Applications/MAMP/conf/penso. Felice di programmazione.

  5. 0

    Bene, il file esiste’ errore è probabilmente perché si è tentato di creare un collegamento simbolico con il nome di un file che c’era già. Presumo che erano nella directory che contiene la versione di php che si stavano cercando di sostituire o che questo è stato un secondo tentativo e non prima rimuovere l’esistente collegamento simbolico. Sono d’accordo con gli altri per quanto riguarda non “sostituzione/modifica di” la versione di default di php.

    In base alla seconda parte della domanda, il modo migliore per ottenere intorno a dover digitare il percorso completo, le risposte suggerendo un alias sono proprio sul punto con che. Quando più versioni sono coinvolti, però, che significa avere un qualcosa di diverso rispetto a php per eseguire la versione che si desidera eseguire.

    Ho uno script che mi permette di “selezionare” la versione di php che mi piacerebbe lavorare con i quali poi crea un collegamento simbolico a quella versione e mi permette di inserire semplicemente php’ come il mio comando quando si desidera utilizzarlo. Ho scritto un blog su di esso qui dove è possibile ottenere lo script. In base alla risposta data da @ioCron ho bisogno di rivedere il mio script per tenere conto della diversa configurazione cartelle associate con ogni versione.

  6. 0

    Bene niente di tutto questo era lavoro per me, con OSX10.12.5

    ho mac porte php70 installato in /opt/local/bin

    che php ha mostrato:

    /usr/bin/php

    Ho impostato gli alias e i percorsi locali, ecc, che in gran parte ha funzionato per me, ma altri programmi erano in mancanza (come compositore) quindi la soluzione per me è stato quello di anteporre:

    /opt/local/bin
    /opt/local/sbin

    al file /etc/percorsi

    poi tutto è funzionato a meraviglia!

  7. 0

    L’ultima versione di MAMP (Versione 5+) offre un modo semplice per rendere il MAMP PHP è disponibile una versione a riga di comando. Basta selezionare “PHP” nella barra dei menu e di controllo “, Rendono disponibile la versione a linea di comando”. Easy peasy! 🙂

    screenshot

Lascia un commento