Generalidades
Esta guía asume que ya has instalado PEAR usando el siguiente artículo:
Es posible que tu sitio PHP arroje un error si ciertos paquetes PEAR no están instalados. Por ejemplo, si recibes un error que hace referencia a alguno de los siguientes, corre el siguiente comando (en tu directorio de usuarios) para instalar ese paquete.
Referencia de error | Comando para arreglar |
---|---|
Mail.php |
[server]$ pear install --alldeps Mail |
Mail/mime.php |
[server]$ pear install --alldeps Mail_Mime |
Console/Getopt.php |
[server]$ pear install --alldeps Console_Getopt |
DB.php |
[server]$ pear install --alldeps MDB2 |
Net/SMTP.php |
[server]$ pear install --alldeps Net_SMTP |
Errores de script
Cuando creas un script que hace referencia a PEAR, asegúrate de agregar estas dos líneas en la parte superior de ese script:
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_STRICT); set_include_path("." . PATH_SEPARATOR . ($UserDir = dirname($_SERVER['DOCUMENT_ROOT'])) . "/pear/php" . PATH_SEPARATOR . get_include_path());
- La primera línea desactiva los errores que puedan aparecer.
- La segunda línea permite que el script haga referencia a tu instalación PEAR.
Además, es posible que debas incluir el archivo de configuración que creaste. El archivo de configuración incluye variables para la plantilla y la ruta de datos, que son necesarias para algunos módulos PEAR:
$pear_user_config = $UserDir . "/.pearrc";
Donde $UserDir = dirname($_SERVER['DOCUMENT_ROOT']) determina dinámicamente el directorio principal de tu usuario, e.g., /home/username.
Error de instalación
Es posible que veas el siguiente error después de intentar instalar un paquete:
[server]$ pear install --onlyreqdeps Mail No releases available for package "pear.php.net/Mail" install failed
Para arreglar este error, revisa el siguiente artículo:
Si eso no funciona, intenta cambiar los canales y actualizar. Esto se mostrará si hay algún error al conectarse a pear.php.net. Por ejemplo:
[server]$ pear update-channels Updating channel "doc.php.net" Update of Channel "doc.php.net" succeeded Updating channel "pear.php.net" Channel "pear.php.net" is not responding over http://, failed with message: Connection to `ssl://pear.php.net:443' failed: Trying channel "pear.php.net" over https:// instead Cannot retrieve channel.xml for channel "pear.php.net" (Connection to `ssl://pear.php.net:443' failed: ) Updating channel "pecl.php.net" Update of Channel "pecl.php.net" succeeded [server]$ pear upgrade Error getting channel info from pear.php.net: Connection to `ssl://pear.php.net:443' failed:
En este caso, es un problema con el sitio web pear.php.net que debe resolverse por tu lado.