2009-03-10 9 views
10

Finalmente estoy tratando de instalar PEAR para poder instalar fácilmente PHPUnit. Quiero configurar un entorno de desarrollo Mac, Apache, MySQL, PHP, PHPUnit para que pueda probarlo localmente. Ya tengo Apach, MySQL y PHP funcionando. Ahora todo lo que necesito es PHPUnit, lo que significa que necesito PEAR para instalarlo.Cómo configurar PEAR en Mac OS X 10.5 Leopard

He buscado por todas partes, y hay algunas variaciones de "el tutorial" sobre cómo instalar PEAR en Mac OS X 10.5. Sin embargo, parece que no puedo hacer que ninguno de ellos funcione. ¿Alguien ha tenido éxito con esto? No estoy totalmente seguro de que tengo todo configurado como debería ser, así que si pudiera incluir el "predeterminado" Mac OS X 10.5 incluir rutas, o una explicación simple de dónde debería ir todo, lo agradecería.

Siguiendo this tutorial hago lo siguiente:

curl http://pear.php.net/go-pear > go-pear.php 
sudo php -q go-pear.php 

I Pulse Intro hasta que llego a una lista con 7 incluyen rutas de acceso:

1. Installation prefix ($prefix) : /Users/andrew 
2. Temporary files directory  : $prefix/temp 
3. Binaries directory   : $prefix/bin 
4. PHP code directory ($php_dir) : $prefix/PEAR 
5. Documentation base directory : $php_dir/docs 
6. Data base directory   : $php_dir/data 
7. Tests base directory   : $php_dir/tests 

cambio la Installation prefix ser /usr/local, pulse enter para continuar, escriba Y para instalar también PEAR_Frontend_Web-beta, PEAR_Frontend_Gtk2, MDB2. Eventualmente, todo está instalado.

Siguiente ...

En el primer intento, creo include_path fue comentada del archivo php.ini, pero como ya he cambiado esta línea, y esto no es la primera vez que he intentado instalar, me sale el siguiente mensaje:

WARNING! The include_path defined in the currently used php.ini does not 
contain the PEAR PHP directory you just specified: 
</usr/local/PEAR> 
If the specified directory is also not in the include_path used by 
your scripts, you will have problems getting any PEAR packages working. 

Would you like to alter php.ini </private/etc/php.ini>? [Y/n] : 

tipo I Y y dejar que la pera se actualiza automáticamente mi ruta de inclusión:

php.ini </private/etc/php.ini> include_path updated. 

Current include path   : .:/usr/share/pear 
Configured directory   : /usr/local/PEAR 
Currently used php.ini (guess) : /private/etc/php.ini 

que pulse ENT er para continuar y sale el siguiente mensaje:

The 'pear' command is now at your service at /usr/local/bin/pear 

** The 'pear' command is not currently in your PATH, so you need to 
** use '/usr/local/bin/pear' until you have added 
** '/usr/local/bin' to your PATH environment variable. 

Run it without parameters to see the available actions, try 'pear list' 
to see what packages are installed, or 'pear help' for help. 

For more information about PEAR, see: 

    http://pear.php.net/faq.php 
    http://pear.php.net/manual/ 

Thanks for using go-pear! 

PHP Warning: rmdir(/usr/local/temp): Not a directory in /Users/andrew/go-pear.php on line 1237 

Warning: rmdir(/usr/local/temp): Not a directory in /Users/andrew/go-pear.php on line 1237 

Actualización: Creo que sé por qué estos dos últimos avisos se acercó. Previamente, traté de solucionar el problema del directorio temporal creando un enlace simbólico a/tmp, pero si lo entiendo correctamente, PEAR está intentando crear su propio directorio temporal para la instalación, luego lo eliminará cuando haya terminado. Así que no debería haber creado este enlace simbólico ya que tratará de eliminar el directorio temporal cuando la instalación haya finalizado.

+0

Podría describir el problema que tiene? – hhafez

Respuesta

16

Hay algunas cosas que podrían estar saliendo mal aquí, solo son suposiciones.

En primer lugar, hay dos que incluyen rutas de las que deberá preocuparse. El primero es tu ruta de inclusión de PHP. Las bibliotecas PEAR son (principalmente) solo código PHP, especialmente empaquetadas. Cuando instala un módulo PEAR está descargando todo el código PHP necesario para esa biblioteca, y cualquier otra biblioteca PEAR de la biblioteca que está instalando (lo siento por esa frase, pero no estoy seguro de que haya una mejor manera de decirlo) ese). Esto incluye la ruta en sus archivos php.ini (un archivo para su línea de comando php, otro para el servidor web yoru php, a menudo el mismo archivo).

La segunda ruta de inclusión que deberá preocuparse es su ruta de acceso de UNIX/shell. Esta es la ruta en la que su computadora buscará los comandos cuando ingrese un comando desde una terminal. El comando 'pera' es un comando de línea de comando.

Por lo tanto, tenemos que asegurarnos de que

  1. El archivo php.ini para su sitio web tiene el directorio PEAR en su ruta de inclusión
  2. El archivo php.ini para su aplicación de línea de comandos PHP tiene la directorio PEAR en su ruta de inclusión
  3. la aplicación de shell (terminal, probablemente en BASH estás en OS X) tiene el directorio PEAR en su ruta de inclusión

por lo tanto, para el número 1, se puso en una página PHP y nuestro servidor que incluye la función llamada

phpinfo(); 

Esto mostrará una gran cantidad de información sobre su servidor. Busque la ubicación de php.ini. Abra este archivo en un editor de texto, busque la variable include_path y agregue la ruta a su directorio PEAR (no elimine las otras rutas, solo agregue las suyas).

Para el número 2, ejecute lo siguiente desde la línea de comandos

php -r "phpinfo();" | grep '.ini' 

Un montón de líneas imprimirá, busca la que dice algo así como "archivo de configuración cargado". Abra este archivo en un editor de texto, busque la variable include_path y agregue la ruta a su directorio PEAR (no elimine las otras rutas, solo agregue las suyas).

Finalmente, y esto es lo que creo que es su problema, debemos asegurarnos de que el comando pera de la línea de comandos se encuentre en su ruta de shell/bash. Eso es lo que este error está refiriendo a

** The 'pear' command is not currently in your PATH, so you need to 

Debe haber un archivo en el directorio personal llamado '.bash_profile'. Es un archivo oculto, por lo que no se mostrará en el Finder. Ábrelo con un editor de texto. Si tiene problemas porque este es un archivo oculto, use la línea de comando pico editor. Ctrl-X salvará de pico

cd ~ 
pico .bash_profile 

Este fichero es ejecutado por su cada vez que la cáscara se abre una ventana de terminal. Vamos a agregar/usr/local/bin a su RUTA, lo que significa que cuando intente ejecutar un comando, su computadora buscará el comando en esta carpeta. Añadir la siguiente línea en la parte inferior de .bash_profile

export PATH=/usr/local/bin:$PATH 

Esto es, más o menos, equivilant al siguiente código PHP

$PATH = '/usr/local/bin:'.$PATH 

Has añadido/local/bin/usr como la primera lugar delimitado por dos puntos para buscar el comando y luego agregar el resto de la ruta existente a él. Una vez que ha añadido esa línea, cerrar su terminal, volver a abrirlo y escriba

pear 

Esto debe darle una lista de comandos válidos pera, pero lo más importante le hará saber pera es en su camino .

¡Buena suerte!

+0

Recibo el mensaje "comando no encontrado". ¿Me salteé un paso? – Andrew

+0

¿Qué sucede cuando escribe '/ usr/local/bin/pear'? –

+0

Sería genial si pudiera agregar su sintaxis php.ini include_path. He conseguido que esto funcione, pero todavía tengo algunos problemas con incluye romper. –

2

Me di cuenta. Usted "TIENE que" ejecutar la pera go.php en la que desea instalar pera, por lo que necesita para ejecutar el programa bajo/usr/local si desea binaria de pera que se instalará en/usr/

:-)

0

usuario "Bryan Kennedy" local/bin (arriba) quería saber la sintaxis para el cambio "include_path" necesaria en "php.ini"

(tuve un problema similar al OP y yo sólo ha solucionado el problema con la ayuda de este post.)

el cambio a php.ini se verá como ...

include_path=".:/path_to_pear_dir/PEAR" 

esto es cómo se ve cuando se permite "ir pear.php" para hacer el cambio ....

;***** Added by go-pear 
include_path=".:/usr/local/bin/PEAR" 
;***** 
Cuestiones relacionadas