Cómo reinstalar correctamente y por una vez PHP/Apache

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 -vsiempre 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

Editar

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
Cálmate amigo :) Primero que nada dinos qué comandos de preparación has probado y brew listqué versión de php te da
Además, ¿para qué sirve la salida brew tap?
@Alessiox editó mi publicación
Dado que está trabajando con homebrew, en primer lugar, le sugiero brew updateque brew cleanupelimine las versiones anteriores de la fórmula y las sobras/caché. Luego, en su PATHintento de poner usr/local/bin(donde brew vincula cosas) antes usr/bin(el estándar de Apple)
si escribe, which pipcreo que la Terminal imprimirá /usr/bin/php, que es la versión de PHP estándar de Mac OS X (preinstalada)
Marjorie:~ Mawel$ which pip /Users/Mawel/Library/Enthought/Canopy_64bit/User/bin/pipE hizo todo lo demás pero no mejoró
amigo lo siento mucho. No which pippero which php. Me confundí, Canopy está realmente relacionado con Python y también lo estápip
Jaja, de hecho, también me preguntaba a mí mismo :) Así que aquí lo tienes:Marjorie:~ Mawel$ which php /usr/bin/php
Como puede ver, el predeterminado phpno es el homebrew phpsino el Mac OS X estándar. Mac OS X, como sabrá, escanea PATHde arriba a abajo cuando busca archivos ejecutables y binarios, por lo que la usr/local/binruta (que es la ruta homebrew) debe ser en la parte superior de PATH(o, al menos, antes de usr/bin. Intente cambiar la bash_profileruta de preparación incluida en la parte superior de PATH, luego reinicie e intente nuevamente con which pipo pip -vy vea si algo cambia.
Su PATHdefinición está dividida en varias líneas, para asegurarse de que los cambios estén bien, escriba Terminal echo $PATH. Este comando mostrará todo PATH, por lo que puede verificar fácilmente si usr/local/binviene antesusr/bin
Bueno, lo hice y reinicié Apache. Reinicio toda la computadora en un segundo.
Genial Funciona!! Así que todo se trataba de PATHPublicar respuesta a continuación y lo acepto;)

Respuestas (1)

Los brewcomandos 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 PATHque 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 PATHde arriba a abajo, por lo que si ambos usr/bintienen usr/local/binlos phpejecutables, ya que usr/binaparece primero en PATH, entonces Mac OS X usará la phpversió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 PATHorden en bash_profile, y asegurarse de que usr/local/binesté 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 PATHlista 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.