Setting the php.ini MAMP file as default on OSX

5 marzo, 2009

Etiquetas: , , ,

Hace poco, muy poco, que sigo el tutorial Jobeet para aprender a utilizar Symfony y así hacer subir mi geek power. Desde aquí, lo recomiendo firmemente.

Bien, primer hecho, para el correcto/buen uso de este framework, es necesario tirar de Terminal (en mi caso OSX, cmd en Win) y ejecutar comandos para crear, generar, modificar, cargar el proyecto/aplicación/base de datos… Symfony está implementado con PHP 5 por ser un framework orientado a objetos (creo recordar que como requerimiento es necesario la versión 5.2). Y muchos de esos comandos ejecutados desde el Terminal, son precisamente scripts de PHP.

Segundo hecho. Mac OS X, por lo menos en su última versión, 10.5 (Leopard) tiene configurado ya una versión de PHP.

Tercer hecho. Yo que soy un poco gandul, decidí bajar, antes de ponerme a configurar nada a mano, la versión gratuita de MAMP (Mac OSX, Apache, MySQL, PHP).

Problema. A partir de ahí, los 3 hechos anteriores, ya te puedes poner como un loco a tocar la configuración del php del MAMP, que la versión que utilices por línea de comando o Terminal en tu Mac, es la preinstalada. De esto me di cuenta cuando revisando la configuración en MAMP, y revisando la configuración por el Terminal, habían sustanciales diferencias entre ambas versiones.

Después de probar y acceder a los scripts de php por el terminal, y preguntarme dónde está esta preinstalada versión, y ver que ni siquiera había un php.ini configurado intenté modificar los ficheros de configuración de la versión preinstalada para que apuntaran al php.ini del MAMP.

Bien, si por el Terminal pruebas el siguiente comando:

$ php --ini

debería aparecer la información sobre dónde encontrar el fichero php.ini (Path /etc), y dónde busca nuevos ficheros equivalentes para su uso. En mi caso, todos los resultados eran “(none)”. Así que ni corto ni perezoso (pero si gandul), voy al directorio /etc y le hecho un vistazo. Aquí, aparte de muchos ficheros de configuración encontré un php.ini.default (por si no lo sabes, lo puedes renombrar quitando el .default final y sería el fichero utilizado). Pero como he dicho antes, este no es el php.ini que quiero usar.

Así que mi solución ha sido la de crear un link al php.ini de MAMP, en mi caso en /Applications/MAMP/conf/php5/php.ini.

Atención, necesitarás permisos de root (o super usuario) para poder crearlo, si lo quieres activar puedes hacerlo como indico aquí Activar el Super Usuario en OS X.

Y luego ejecutar (siempre dentro de /etc):

$ sudo ln -s /Applications/MAMP/conf/php5/php.ini php.ini

Sólo debes introducir el password de super usuario y listo. Al volver a ejecutar el comando php –ini debería aparecer algo parecido a esto.

php --ini

¡Pedazo de invento los links! Aquí podemos ver que “Loaded Configuration File” es /Applications/MAMP/conf/php5/php.ini, es decir, el fichero php.ini del MAMP.

10 comentarios a "Setting the php.ini MAMP file as default on OSX" »
Comentario de Joel — 25 mayo, 2009 @ 4:44

gracias!!!!!! es (era!) justo mi caso :D

Comentario de Juan Carlos Requena — 26 mayo, 2009 @ 21:15

Hola, ante todo agradecerte el tutorial, y preguntarte si a ti te viene con el Mamp activado el PDO para mysql, ya que a mi no me viene y no hay manera de hacer funcionar propel…

Comentario de VictorR — 1 junio, 2009 @ 14:01

Hola Juan Carlos, el PDO de MySQL viene instalado en el MAMP. Una de las razones por las que detecté que no era el mismo php.ini el que veía por línea de comados y el que veía en el phpInfo() del MAMP es que difería en este aspecto.

De todas maneras he buscado cómo instalarlo en MySQL and PDO on OS X Leopard, Intel de Tom Gidden. Espero que te sea de ayuda.

Un saludo,

Comentario de rodolfo — 4 junio, 2009 @ 3:45

Hola quisiera hacerte una pregunta sobre mamp, lo que pasa es que lo instale en mi imac y todo parece funcionar bien a ecepcion de que no consigo ver las paginas con codigo php tal vez me hace falta configurar algo, si tu sabes donde tengo el problema y me lo puedes decir te lo agradecere mucho.

Comentario de VictorR — 5 junio, 2009 @ 9:49

Hola rodolfo,

Así de golpe y sin ver tu configuración exacta es un poco dificil dar con la solución… Lo primero que se me ocurre es que no tengas el módulo de php activado en el apache, aunque si lo que has configurado es el MAMP lo lógico es que ya esté activado. Comprueba en el fichero httpd.conf del MAMP que las siguientes líneas existan y no estén comentadas:

LoadModule php5_module        modules/libphp5.so
AddType application/x-httpd-php .php .phtml

Un saludo.

Comentario de Toni — 29 junio, 2010 @ 19:17

Hola, tengo una duda, este post es un poco antiguo aunque tiene mucho que ver.

Tengo instalada la versión de php (5.2) que trae por defecto el MAC, aunque he instalado el mamp y creo que no me vale con crear un link simbólico ya que el mamp trae la versión 5.3 de php, me gustaría utilizar el php que trae el mamp, como puedo hacer esto?

He pensado otra manera que puede ser actualizando la versión de php de mi MAC a la 5.3 y entonces crear el link simbólico.. aunque no se muy bien como actualizarlo.

Un saludo

Comentario de Toni — 29 junio, 2010 @ 19:23

Lo he intentado de esta manera:

sudo mv /usr/bin/php /usr/bin/php-old

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

Pero al intentar ejecutar el php me sale “permission denied”

Comentario de VictorR — 30 junio, 2010 @ 8:20

Hola, si utilizas el MAMP, ya deberías estar utilizando el php 5.3, por lo menos cuando navegas por las webs que vayas haciendo o tengas en el MAMP.

Por otra parte, si realizas el link a php.ini del MAMP vía Terminal, como expongo en el post, también deberías estar utilizando el php 5.3 por línea de comando.

Para asegurarte puedes ejecutar el comado “php –info” en el Terminal, y ver qué versión se está ejecutando. Lo mismo puedes hacer en el navegador si preparas una página que ejecute la función phpInfo().

Sobre el mensaje de “permission denied” puede ser que no tenga los permisos de ejecución para todos los usuarios, de todas maneras no haría lo que has hecho.

Si quieres instalar php saltándote el MAMP puedes probar MacPorts, una gran herramienta que me ha permitido pasar completamente del MAMP…

Comentario de graciela — 1 febrero, 2012 @ 20:14

Tengo esactamente el mismo problema que tu, pero soy novata en php y me gustaría que me explicases mas detalladamente como creas el link a Mamp y donde introduce el codigo “$ sudo ln -s /Applications/MAMP/conf/php5/php.ini php.ini”.
No se exactamente como usar el terminal…
la lectura que me ha hecho del php-ini es la siguiente:
phpinfo()
PHP Version => 5.2.15
sin embargo en el MAMP funciona con la version 5.3
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: “/path1:/path2″
include_path = “.:/Applications/MAMP/bin/php5.3/lib/php”
;
; Windows: “\path1;\path2″
;include_path = “.;c:\php\includes”
Te agradecería mucho una ayuda estoy intentando meter un formulario una web y me da siempre este error:

Warning: mail() [function.mail]: “sendmail_from” not set in php.ini or custom “From:” header missing in C:\Domains\academiabomarzo.com\wwwroot\enviar.php on line 21
Falló el envio
y el php de envio es :

Algo que al parecer es muy sencillo me esta dando un quebradero de cabeza! ¿Me puedes ayudar?
Garacias por adelantado
Graciela

Comentario de VictorR — 3 febrero, 2012 @ 9:57

Hola Graciela, por lo que veo (por el Warning) tu trabajas con Windows, ¿no es así? Por lo que deberías utilizar las opciones para windows en lugar de Unix, y supongo que tendrás instalado el WAMP en lugar del MAMP.

Para empezar, deberás utilizar CMD (línea de comandos de DOS) en lugar del Terminal propio de entornos Unix y OS X.

El comando “ln -s”, otra vez, es propio de Unix, no funciona en Windows. Lo más parecido a un softlink de Unix que puedes encontrar en Windows es un acceso directo de un fichero a la carpeta que necesites. Otra cosa es que eso te sirva, no creo ni que funcione.

La mejor opción que se me ocurre (sin hacer pruebas) es que edites las variables de entorno de tu PC para incluir el PHP_HOME (carpeta donde se aloja el php) del WAMP en el PATH. De esta manera la línea de comandos de DOS debería reconocer el php.ini del WAMP y utilizarlo por defecto.

Dime si consigues que te funcione, y cómo lo has conseguido ;-) ayudará a otra gente con el mismo problema! :-)

RSS feed para los comentarios de esta entrada. TrackBack URL

Deja tu comentario

* Obligatorio. ** Obligatorio, no será publicado.