Solución de problemas de errores PEAR

Generalidades

Esta guía asume que ya has instalado PEAR usando la siguiente guía:

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, ejecuta 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 de inicio de DreamHost, e.g., '/home/user'.

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 su parte.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?