Así que estoy luchando con esto desde hace mucho tiempo y me gustaría encontrar una solución adecuada.
Tengo php5.4... instalado y quiero actualizar a Php 7.
No importa lo mucho que estoy tratando de hacerlo, parece que no puedo alcanzar mi objetivo. Traté de eliminar php54 y otros con homebrew, para eliminarlo manualmente por línea de comando, para sobrescribirlo con la nueva versión, nada funcionó. Lo que sea que esté haciendo cuando escribo, php -v
siempre termino con php5.4:
Marjorie:~ Mawel$ php -v
PHP 5.4.45 (cli) (built: Sep 6 2015 20:56:23)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
Así que me pregunto si me equivoqué con mi conf de php/apache. ¿Debo intentar una instalación limpia de mi sistema y sería eficiente? No sé ! Estoy un poco perdido y realmente necesito ayuda incluso para la comprensión (¿hay alguna razón por la que no pueda deshacerme de la versión anterior de php?)
Cualquier cosa sería útil
Así que aquí hay más información para responder a las preguntas:
salida debrew tap
Marjorie:~ Mawel$ brew tap
homebrew/dupes
homebrew/php
homebrew/versions
A partir de lo que he probado con cerveza casera: así que aquí está la idea paso a paso:
brew remove php54
brew install php70
brew link php70
Warning: Already linked: /usr/local/Cellar/php70/7.0.4
Vamos a agregar esta información:
Marjorie:~ Mawel$ sudo find ~/ -iname "php"
/Users/Mawel//Code/agencedevoyage/sos-partenaire/vendor/phpunit/php-code-coverage/tests/PHP
/Users/Mawel//Code/agencedevoyage/sos-partenaire/vendor/phpunit/phpunit/src/Util/PHP
/Users/Mawel//Code/agencedevoyage/vendor/phpunit/php-code-coverage/tests/PHP
/Users/Mawel//Code/agencedevoyage/vendor/phpunit/phpunit/src/Util/PHP
/Users/Mawel//Code/PHP
/Users/Mawel//Code/Site Perso/dev/vendor/phpunit/php-code-coverage/tests/PHP
/Users/Mawel//Code/Site Perso/dev/vendor/phpunit/phpunit/src/Util/PHP
/Users/Mawel//Documents/Cours/BTS SIO/Developpement/PHP
/Users/Mawel//Documents/Cours/BTS SIO/Developpement/web/php
/Users/Mawel//Library/Application Support/Sublime Text 3/Cache/PHP
/Users/Mawel//Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/html/static/components/codemirror/mode/php
Y finalmente, mi perfil de bash:
Marjorie:~ Mawel$ vi ~/.bash_profile
alias composer="php /usr/local/bin/composer.phar"
PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"
export PATH
export PATH=~/.composer/vendor/bin:$PATH
export PATH="/usr/local/mysql/bin:$PATH"
source ~/.profile
Los brew
comandos se ven bien. Tienes todos los grifos que necesitas.
En primer lugar, dado que está trabajando con homebrew, sugeriría los siguientes dos comandos (comencemos de cero):
brew update && brew cleanup
Así que estamos seguros de que estamos usando la última versión de homebrew y limpiamos todas las fórmulas antiguas y sobras.
Por lo PATH
que parece usr/bin
(que es la ruta estándar de Mac OS X para archivos binarios y ejecutables) viene antes usr/local/bin
(la ruta en la que homebrew vincula la bodega).
Como sabrá, Mac OS X cuando busca archivos binarios/ejecutables escanea PATH
de arriba a abajo, por lo que si ambos usr/bin
tienen usr/local/bin
los php
ejecutables, ya que usr/bin
aparece primero en PATH
, entonces Mac OS X usará la php
versión en dicha carpeta, ignorando la versión en usr/local/bin
( que, por el contrario, es nuestro objetivo).
Para asegurarse de qué versión está usando Mac OS X, escriba la Terminal
which php
y si la salida es usr/bin
, entonces Mac OS X está usando su propia versión.
De hecho, el núcleo ahora es cambiar el PATH
orden en bash_profile
, y asegurarse de que usr/local/bin
esté antes usr/bin
(ahora está claro que estamos obligando a Mac OS X a usar la versión homebrew).
Una vez que se hayan realizado los cambios, reinicie su Mac y escriba en la Terminal
echo $PATH
Esto mostrará la PATH
lista completa para que pueda asegurarse de que todo esté en el orden correcto.
Ahora, finalmente, puede verificar usando cualquiera
which php
o
php -v
cuál es la versión en ejecución.
alessiox
brew list
qué versión de php te daalessiox
brew tap
?baldrani
alessiox
brew update
quebrew cleanup
elimine las versiones anteriores de la fórmula y las sobras/caché. Luego, en suPATH
intento de ponerusr/local/bin
(donde brew vincula cosas) antesusr/bin
(el estándar de Apple)alessiox
which pip
creo que la Terminal imprimirá/usr/bin/php
, que es la versión de PHP estándar de Mac OS X (preinstalada)baldrani
Marjorie:~ Mawel$ which pip
/Users/Mawel/Library/Enthought/Canopy_64bit/User/bin/pip
E hizo todo lo demás pero no mejoróalessiox
which pip
perowhich php
. Me confundí, Canopy está realmente relacionado con Python y también lo estápip
baldrani
Marjorie:~ Mawel$ which php
/usr/bin/php
alessiox
php
no es el homebrewphp
sino el Mac OS X estándar. Mac OS X, como sabrá, escaneaPATH
de arriba a abajo cuando busca archivos ejecutables y binarios, por lo que lausr/local/bin
ruta (que es la ruta homebrew) debe ser en la parte superior dePATH
(o, al menos, antes deusr/bin
. Intente cambiar labash_profile
ruta de preparación incluida en la parte superior dePATH
, luego reinicie e intente nuevamente conwhich pip
opip -v
y vea si algo cambia.alessiox
PATH
definición está dividida en varias líneas, para asegurarse de que los cambios estén bien, escriba Terminalecho $PATH
. Este comando mostrará todoPATH
, por lo que puede verificar fácilmente siusr/local/bin
viene antesusr/bin
baldrani
baldrani
PATH
Publicar respuesta a continuación y lo acepto;)