Ya ha pasado mas de una semana desde la llegada del nuevo Mac OS X Mavericks, y tengo que decir que me esta gustando bastante, a parte de ser gratuito, funciona muy bien.
Una de mis «sorpresas» ha sido comprobar que la configuración que tenia para el desarrollo de PHP ha desaparecido, y he tenido que remontarlo todo, pero vamos no me ha supuesto mucho tiempo.
Cambio en la versión de PHP.
En Mac OS 10.8, creo recordar que la versión que tenia instalada era la 5.3.14, estoy hablando un poco de memoria, pero seguro que era la 5.3, en esta nueva versión tenemos de serie la 5.4.17, si queréis comprobarlo solo tenéis que abrir una terminal y escribir php -v
¿Donde esta mi PEAR?
Así es, como suena, todo mi directorio con las librerías PEAR ha desaparecido, también decir que lo tenia dentro del sistema y no en proyecto así que esto puede llegar a ser comprensible, pero si abrimos un terminal y vamos al directorio /usr/lib/php nos encontraremos un ejecutable llamado install-pear-nozlib.phar se nos instalara PEAR, no olvidar instalarlo como root.
sudo install-pear-nozlib-phar
¿Yo tenia el XDebug instalado, no?
Si cambiamos el PHP cambiamos las extensiones, así que si teníamos instalado por ejemplo el XDebug pues ya yo esta, así que toca reinstalarlo. Lo mas sencillo, el metodo PECL, pero antes de ejecutarlo es mejor que instaléis las «command line development tools’ ya que si no lo hacéis, casi seguro que os saldrá el siguiente error.
fatal error: 'php.h' file not found
#include <php.h>
^
Instalar command line development tools
sudo xcode-select --install
Una vez instalado ya podemos instalar el Xdebug
sudo pecl install xdebug
Una vez instalado tenemos que agregar la linea «zend_extension=xdebug.so» a nuestro php.ini, esto lo veremos en el siguiente apartado, pero si agregamos esa linea como nos dicen nos dará error, la linea que tenemos que agregar para que nos funcione es la siguiente
zend_extension = "/usr/lib/php/extensions/no-debug-non-zts-20100525"
¿Donde esta el php.ini?
La respuesta a esta pregunta es sencilla, de serie no esta como tal, esta como php.ini.default, al cual tenemos que cambiarle el nombre a php.ini o crear un enlace simbólico a este, para que la configuración se nos aplique. Este fichero podemos encontrarlo en el directorio /etc, y es un fichero de solo lectura, así que si queremos modificar algo o bien le cambiamos los permisos a escritura mientras lo editamos, o si usamos el vi o vim, los cuales tengo que decir que para estas cosas de configuraciones yo los uso siempre, guardamos los cambios con wq!.
Cosas que agregar al php.ini
En el fichero no están definidos los path de búsqueda, así que buscar donde dice include_path y agregar, los directorios que queremos incluir. Por ejemplo, si tenemos instalado PEAR querremos incluir en el path el directorio de PEAR.
include_path = ".:/usr/lib/php/pear"
Si usais el vi/vim una manera muy sencilla de llegar hasta esta linea es hacer lo siguiente una vez abierto el fichero:
Pulsamos ESC a continuación escribimos /include_path y pulsamos ENTER, y así nos va hasta la linea donde pone include_path.
Si la linea empieza con ; quitarlo ya que sino continuara siendo un comentario.
En el ejemplo anterior de la extensión de Xdebug, una manera muy sencilla de agregar la linea, como esta se puede poner al final del fichero podemos hacer lo siguiente:
sudo echo zend_extension = "/usr/lib/php/extensions/no-debug-non-zts-20100525" >> /etc/php.ini
Buenas! gracias por esta entrada. Pero el comando para instalar las librerías sólo me funciona así:
sudo php install-pear-nozlib.phar
Saludos!