¿Dónde está PHP.ini en Mac OS X Lion? Pensé que estaba en / usr / local / php5 / lib

268

Quería ejecutar PHP directamente en mi Mac, httpd.conf sin comentarios, uso compartido web activado, MySQL instalado, etc. Parece que no puedo encontrar mis archivos PHP, lo más importante, PHP.ini.

En mi máquina anterior estaba ubicada en / usr / local / php5 / lib Pero el directorio php5 no existe en / usr / local ..

¿Necesito obtener un paquete o estoy buscando en el lugar incorrecto?

Ejecutando OS X 10.7.3, PHP 5.3.8, Apache / 2.2.21

Orun
fuente
9
Una manera fácil de encontrar la ubicación es ejecutar phpinfo ();
ralfe
10
O bienlocate php.ini
Pekka
12
@ralfe Debe agregarse que debe buscar la configuración 'Archivo de configuración cargado' desde phpinfo () o php --ini(ejecutar en la ventana de terminal). Porque si no hay php.ini, ambos informarán la Ruta del archivo de configuración como /etc(al menos en mi instalación de OS X 10.8). Si no se carga ningún archivo de configuración, entonces debe probar la respuesta por mac
Jason S
/ usr / local / php5 es donde el instalador php de entropy.ch y liip.ch instalan (ed) php. Nunca ha sido la ubicación de la instalación php de Apple.
heiglandreas
8
Haga estophp -i | grep php.ini

Respuestas:

396

Debería encontrarlo en / private / etc si existe, de lo contrario:

sudo cp /private/etc/php.ini.default /private/etc/php.ini
Mac
fuente
De acuerdo, hay un php.ini.default en / private / etc y lo estoy revisando. pero alguna idea de por qué no tengo mi antigua carpeta php5 en usr / local? Solía ​​haber un montón de archivos allí, incluido un php.ini recomendado. ¿Es este un cambio en una versión más nueva o PHP5 o Lion o algo más?
Orun
PHP5 se incluye por defecto en MacOS X desde 10.5 con la ubicación anterior para el archivo php.ini. Si lo hubiera instalado manualmente, no debería haberse eliminado durante la actualización a Lion; extraño ...
Mac
2
El archivo php.ini.default en mi máquina Lion no coincidía con todas las configuraciones predeterminadas cuando no estaba presente php.ini. En particular, short_tags estaba desactivado, error_reporting, log_errors y algunas configuraciones menores diferían. Deberá comparar su salida de php -iantes y después de crear su php.ini.
spoulson
1
en mi mac, tenía un archivo en /private/etc/php.ini pero php parecía ignorar los cambios que hice allí, descubrí que estaba usando el de /usr/local/php5/lib/php.ini en su lugar
Kit Ramos
2
Esta respuesta me indicó la dirección correcta. cp php.ini.default> php.ini y la configuración cargada CLI se convirtió en /etc/php.ini. Compruebe php -i | grep php.ini after
bpile
408

Para ubicar el archivo ini en su máquina, abra Terminal.appy ejecute el siguiente comando:

php --ini

Si necesita una plantilla para Lion, intente esto .

rkmax
fuente
2
No he cargado php.ini en este momento. Básicamente estoy buscando el directorio con la plantilla php.ini "recomendada".
Orun
47

En terminal hacer php -i | grep php.ini. Debería darte algunas pistas;)

SpoBo
fuente
26

Las respuestas de @Cronk y @Justin me acercaron a los Mac Mavericks de Mac OS X 10.9. De hecho, en mi sistema /etc/php.inifaltaba el archivo por completo, y no fue hasta que ejecuté phpinfo()el servidor web que observé que no había ningún archivo de configuración. Copiar el archivo /etc/php.ini.defaulty agregar la ruta completa a la mcrypt.sobiblioteca al archivo de configuración resolvió el problema:

cp /etc/php.ini.default /etc/php.ini

Luego, /etc/php.iniagregue la siguiente línea (usando la ruta correcta a su mcrypt.soarchivo):

extension="/usr/local/Cellar/php54-mcrypt/5.4.29/mcrypt.so"

Luego reinicie Apache2:

apachectl restart
Peter Gluck
fuente
¡Dios mío, eres mi héroe! ¡Gracias por la idea de utilizar la ruta completa de mcrypt!
Hese
25

Como se señaló, el php --inicomando le dirá dónde PHP espera encontrar el archivo php.ini.

Para una instalación estándar, es probable que esté buscando /etc/php.ini

Si ha utilizado macports , PHP puede estar buscando/opt/local/etc/php5/php.ini

Joat
fuente
77
etc es un enlace a privado / etc: / etc -> privado / etc
pm_labs
21

Ejecuta phpinfo()desde cualquier archivo y te dice dónde está. Aquí hay una captura de pantalla.

ingrese la descripción de la imagen aquí

Robert Rocha
fuente
3
esta es la mejor manera de hacerlo, ya que puede encontrar copias de php.ini en otras carpetas "predeterminadas", pero de esta manera le dirá la que realmente está usando, de esta manera evitará rascarse la cabeza y la frustración que viene cuando hacer un cambio, pero php parece no ser consciente de dicho cambio.
Kit Ramos
También puede abrir el php REPL en su shell ejecutando php -adonde luego se ejecuta phpinfo();.
metakermit
14

Tengo más de una instancia de PHP ejecutándose, por lo que las otras respuestas no me funcionaron. Esto hizo:

Cree un archivo PHP y abra su url local en su navegador:

<?php phpinfo(); ?>

La ruta PHP.INI se mostrará cerca de la parte superior.

Justin
fuente
3

Este es un hilo bastante antiguo, pero me gustaría agregar una aclaración adicional.

Si tiene un sistema que tiene múltiples instalaciones PHP (como el mío), los resultados que obtiene al usar las herramientas de línea de comando PUEDEN SER diferentes de los que realmente usa el servidor web. Si está interesado en qué PHP está utilizando el servidor web, solo use la información recopilada de una página web que use la función 'phpinfo ()'.

Por ejemplo, en mi sistema las versiones informadas por los dos métodos diferentes fueron:

Línea de comando: 5.3.26

Web: 5.3.13

Para la ruta del archivo php.ini las cosas también fueron diferentes:

Línea de comando: /private/etc/php.ini

Web: /long/path/to/the/file/php.ini

Puede encontrar todos los archivos php.ini posibles usando esto:

find / -name php.ini 2> & 1 | grep -v "denegado" | grep -v "directorio"

(los elementos '2> & 1' y 'grep' solo restringen la salida del comando a información útil, es decir, eliminan los mensajes de error)

En mi sistema encontré 3 archivos INI. Como estaba interesado en lo que estaba usando el servidor web, sabía que debía usar la ruta devuelta por los resultados de la página web. Realicé mis cambios en el archivo php.ini que figuraba allí, reinicié apache y volví a ejecutar la página web; las nuevas ediciones se mostraron allí.

Para reiniciar apache:

sudo apachectl -k restart

- J

Cronk
fuente
1

Comienzo con el "¡Hola Mundo!", Una vez que aparece eso en mi navegador, lanzo un phpinfo();mensaje allí y puedes ver todas las cosas. Te dice qué configuraciones están cargadas, todo.

<?php
   echo 'Hello World!';

   phpinfo();
CenterOrbit
fuente
0

Ejecutas php_info () y ves la siguiente línea :)

Loaded Configuration File   /Applications/XAMPP/xamppfiles/etc/php.ini
Quy Le
fuente