lunes, 9 de agosto de 2010

Breve introducción a PEAR

PEAR es un entorno de desarrollo y sistema de distribución de componentes de código PHP. Esta gran biblioteca se estructura en paquetes, abarcando cada uno un ámbito específico. Por ejemplo, el paquete Net_ldap2 proporciona los objetos para la manipulación de entradas LDAP.

El gestor de paquetes de PEAR ya viene integrado en la versión 5 de PHP. Dicho gestor de paquetes se puede invocar desde la línea de comandos

$ pear

Dispone de múltiples opciones que nos permitirán instalar y actualizar paquetes, consultar configuraciones, etc...

Para utilizar PEAR los scrips se invocan mediante require_once(). Para ello debemos asegurarnos que la directiva include_path de PHP incluya el php_dir de PEAR. ¿Cómo nos aseguramos de eso? Pues con las siguientes comprobaciones:

1. ¿Dónde están instalados los archivos php de PEAR?

$ pear config-get php_dir

El directorio resultante debe contener el fichero System.php

2. ¿Cual es el archivo de configuración que utiliza PHP?

$ php --ini
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed: /etc/php5/cli/conf.d/ldap.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/xdebug.ini

Una buena práctica es crear un fichero phpinfo.php que llame a la función phpinfo(). Dicho fichero lo guardamos en la carpeta de publicación web y lo invocamos mediante un navegador con http://localhost/phpinfo.php, con lo cual nos mostrará la configuración completa del php instalado. La ubicación de el fichero de configuración php.ini vendrá indicado como Loaded Configuration File.

3. Podemos crear otro fichero php, alojado en el mismo lugar que phpinfo.php que nos sirva para comprobar la instalación de PEAR. Este fichero php debe tener las siguientes instrucciones:


require_once 'System.php';
var_dump(class_exists('System'));


Si el resultado al invocarlo desde un navegador web es


bool(true)


significará que todo está correcto. Sin embargo, si aparece algo parecido a


Warning: require_once(System.php): failed to open stream:
No such file or directory in /path/to/check_pear.php on line 2


es que hay algún problema y será necesario revisar la ruta del fichero incluido.
Si en cambio, lo que nos muestra el navegador es una página en blanco, es posible que el servidor web esté configurado para no mostrar los warnings y mensajes de error.

1 comentario: