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

3

Así que estoy luchando contra esto desde hace mucho tiempo y me gustaría encontrar una solución adecuada.

Tengo php5.4 .. instalar y quiero actualizar a Php 7.

No importa lo mucho que intente hacerlo, parece que no puedo tocar mi objetivo. Intenté eliminar php54 y otros con homebrew, eliminarlo manualmente mediante la línea de comandos, para sobrescribirlo con una nueva versión que no funciona. Lo que hago 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 a mí mismo, ¿me he equivocado con mi php / apache conf? ¿Debo intentar una instalación limpia de mi sistema y sería eficiente? No lo 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 antigua de php?)

Cualquier cosa sería útil

Editar

Aquí hay más información para responder las preguntas:

Salida de brew 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á paso a paso la idea:

brew remove php54
brew install php70
brew link php70
Warning: Already linked: /usr/local/Cellar/php70/7.0.4

Permite 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
    
pregunta Baldráni 16.03.2016 - 20:25

1 respuesta

6

Los comandos brew se ven bien. Tienes todos los toques que necesitas.
En primer lugar, ya que está trabajando con Homebrew, sugeriría los siguientes dos comandos (comencemos a limpiar):

brew update && brew cleanup

Por lo tanto, estamos seguros de que estamos usando la última versión de Homebrew y limpiamos todas las fórmulas y sobras anteriores.

Desde su PATH parece que usr/bin (que es la ruta estándar de Mac OS X para binarios y ejecutables) aparece antes que usr/local/bin (la ruta en la que Homebrew vincula el Cellar). Como sabrá, Mac OS X cuando busca archivos binarios / ejecutables escanea los PATH de arriba a abajo, por lo que si tanto usr/bin como usr/local/bin tienen los ejecutables php , ya que usr/bin es lo primero en PATH Luego, Mac OS X usará la versión php en dicha carpeta, ignorando la versión en usr/local/bin (que, en su lugar, es nuestro objetivo).

Para asegurarse de qué versión de Mac OS X está usando, escriba la Terminal

which php

y si la salida es usr/bin , Mac OS X está utilizando su propia versión.

De hecho, el núcleo ahora es cambiar el orden de PATH en bash_profile , y asegurarse de que usr/local/bin aparezca antes de usr/bin (está claro ahora 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 lista PATH completa para que pueda asegurarse de que todo esté en el orden correcto.
Ahora, finalmente, puedes verificar usando cualquiera de estos

which php

o

php -v

que es la versión en ejecución.

    
respondido por el AlessioX 17.03.2016 - 14:04

Lea otras preguntas en las etiquetas