¿Cómo instalo PEAR?

Generalidades

El Repositorio de Aplicaciones y Extensiones PHP, o "PEAR", es un repositorio de código PHP reutilizable que puede agregar a tu sitio web para habilitar fácilmente ciertas funciones como SMTP Mail.

Se pueden descargar varios paquetes desde el repositorio PEAR, en:

La siguiente información te guía a través de lo siguiente:

  • Cómo configurar tu entorno DreamHost para ejecutar PEAR.
  • Cómo descargar e instalar los paquetes.

PEAR MAIL comparado con PHPMailer

Ambos PEAR MAIL y PHPMailer te permiten enviar correos electrónicos utilizando SMTP. Pero hay algunas razones por las que PHPMailer puede ser una mejor opción. Por ejemplo:

  • El PEAR MAIL realiza un ciclo de conexión de socket para cada mensaje. Esto podría hacer que los servidores de DreamHost capturen la conexión como un intento de fuerza bruta.
  • PHPMailer abre un socket solo una vez. El socket se mantiene abierto mientras procesa los mensajes.
  • PHPMailer está muy bien documentado con muchos ejemplos en línea y páginas de ayuda.
  • PHPMailer se integra bien con los servidores SMTP de Google.

Por estas razones, PHPMailer vale la pena echarle un vistazo como una alternativa PEAR MAIL.

Instalar PEAR manualmente

PEAR no está instalado de manera predeterminada en los servidores DreamHost. Si necesitas algún paquete PEAR para operar en su sitio, debe instalarse manualmente siguiendo estos pasos.

  1. Asegúrate de que el usuario asignado a tu dominio sea un usuario SHELL. Visita el siguiente artículo que explica cómo configurar tu usuario de SHELL:
  2. Una vez que el usuario sea SHELL, inicia sesión en el servidor web a través de SSH. Visita el artículo de SSH para obtener instrucciones sobre cómo iniciar sesión en tu servidor según el sistema operativo que estés utilizando:
  3. Una vez que hayas iniciado sesión en tu servidor, asegúrate de estar en tu directorio de usuarios. Ejecute los siguientes comandos en tu terminal SHELL:
    [server]$ cd ~
    [server]$ pwd 
    /home/exampleuser
    • El usuario es llamado ‘exampleuser’.
    • En este ejemplo, puedes ver que está en el directorio de usuarios porque la ruta completa es /home/exampleuser.
  4. Haz un directorio temporal. Esto se usará en los siguientes pasos al instalar.
    [server]$ mkdir -p pear/tmp/pear/install
  5. Ejecuta el siguiente comando wget para descargar el archivo go-pear.phar en tu directorio de usuarios:
    [server]$ wget http://pear.php.net/go-pear.phar
  6. Ejecuta el archivo ingresando este comando en el mismo directorio:
    [server]$ /usr/local/php72/bin/php go-pear.phar
  7. Durante el proceso de instalación, proporciona las siguientes respuestas en las indicaciones:
    [server]$ /usr/local/php72/bin/php go-pear.phar
    Below is a suggested file layout for your new PEAR installation. To
    change individual locations, type the number in front of the
    directory. Type 'all' to change all of them or simply press Enter to
    accept these locations.
    
     1. Installation base ($prefix)                   : /home/exampleuser/pear
     2. Temporary directory for processing            : /tmp/pear/install
     3. Temporary directory for downloads             : /tmp/pear/install
     4. Binaries directory                            : /home/exampleuser/pear/bin
     5. PHP code directory ($php_dir)                 : /home/exampleuser/pear/share/pear
     6. Documentation directory                       : /home/exampleuser/pear/docs
     7. Data directory                                : /home/exampleuser/pear/data
     8. User-modifiable configuration files directory : /home/exampleuser/pear/cfg
     9. Public Web Files directory                    : /home/exampleuser/pear/www
    10. Tests directory                               : /home/exampleuser/pear/tests
    11. Name of configuration file                    : /home/exampleuser/.pearrc
    
    1-11, 'all' or Enter to continue:
    
  8. Debes cambiar la ubicación de los directorios tmp. Escribe 2 y haz clic en 'Entrer'.
    (Use $prefix as a shortcut for '/home/exampleuser/pear', etc.)
    Temporary directory for processing [/tmp/pear/install] : /home/exampleuser/pear/tmp/pear/install
    Cambia el 'exampleuser' a tu nombre de usuario real de Shell en el comando anterior.
  9. Haz clic en 'Entrar' para guardar y continuar.
  10. La lista aparece de nuevo. Este tipo, escribe 3 y haz clic en 'Enter'.
    (Use $prefix as a shortcut for '/home/exampleuser/pear', etc.)
    Temporary directory for downloads [/tmp/pear/install] : /home/exampleuser/pear/tmp/pear/install
    Cambia el 'exampleuser' a tu nombre de usuario real de Shell en el comando anterior.
  11. Haz clic en 'Enter' para guardar y continuar.
  12. Haga clic en 'Enter' nuevamente para continuar.
    La instalación continuará ejecutándose, pero luego se detiene ante esta pregunta:
    WARNING! The include_path defined in the currently used php.ini does not
    contain the PEAR PHP directory you just specified:
    </home/exampleuser/pear/share/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 </etc/php72/php.ini>? [Y/n] : n
    
  13. Ingresa la letra ‘n’ y luego haz clic en Enter para continuar con la instalación. Podrás establecer la ruta de inclusión en los próximos pasos.
    Finalmente verás esta última sección del script de instalación:
    I will add a workaround for this in the 'pear' command to make sure the installer works, 
    but please look over your php.ini or Apache configuration to make sure /home/exampleuser/pear/share/pear 
    is in your include_path.
    
    Current include path           : .:/usr/local/lib/php:/usr/local/php5/lib/pear
    Configured directory           : /home/exampleuser/pear/share/pear
    Currently used php.ini (guess) : /etc/php72/php.ini
    Press Enter to continue:
    
  14. Haz clic en Enter nuevamente en tu teclado. La ruta de inclusión se establecerá en los siguientes pasos.
  15. Visita el artículo creando y editando archivos por medio de SSH para obtener instrucciones sobre cómo editar tu .bash_profile existente. Verás estas líneas ya en ese archivo:
    # ~/.bash_profile: executed by bash(1) for login shells. 

    umask 002
    PS1='[\h]$ '
  16. En la parte inferior, ingresa estas dos líneas:
    export PHP_PEAR_PHP_BIN=/usr/local/php72/bin/php
    export PATH=${HOME}/pear/bin:/usr/local/php72/bin:${PATH}
  17. Guarda y cierra el archivo y regrese a tu shell.
  18. Ejecuta el siguiente comando para permitir que tu sesión actual de Shell use PEAR:
    [server]$ . ~/.bash_profile

Ahora has instalado PEAR, pero para que tu entorno sepa dónde encontrar esta instalación, debes configurar include_path dentro de tu archivo phprc.

Establecer el include_path en su archivo phprc

Si no configuras este include_path correctamente, es posible que tu instalación no funcione según lo previsto.

  1. Actualiza tu archivo phprc para permitir que PHP sepa dónde buscar la instalación de PEAR. Visita los siguientes artículos para obtener instrucciones sobre cómo crear un archivo phprc. Si el archivo ya existe, consulta el siguiente artículo para obtener instrucciones sobre cómo actualizarlo:
  2. Actualiza el archivo phprc con el siguiente comando:
    include_path = ".:/home/username/pear/share/pear"
    • Cambia 'nombre de usuario' a tu nombre de usuario real de Shell en el que se encuentra el dominio.
  3. Vuelve a tu directorio de usuarios.
    [server]$ cd ~
  4. Una vez allí, ejecuta 'pear list' para ver si obtiene una respuesta:
    [server]$ pear list
    
    Installed packages, channel pear.php.net:
    Package          Version State
    Archive_Tar      1.3.12  stable
    Console_Getopt   1.3.1   stable
    PEAR             1.9.5   stable
    Structures_Graph 1.0.4   stable
    XML_Util         1.2.3   stable
    

Como recibes una respuesta, puedes ver que PEAR ahora está funcionando.

Cambiar el directorio de caché /tmp

Cuando instalaste PEAR arriba, configuraste manualmente la ubicación de los directorios tmp. También debes actualizar la ubicación del directorio de caché a esta ubicación temporal.

Ejecuta lo siguiente para ver los directorios actuales /tmp:

[server]$ pear config-show | grep tmp
PEAR Installer cache directory cache_dir        /tmp/pear/cache
PEAR Installer download        download_dir     /home/exampleuser/pear/tmp/pear/install
PEAR Installer temp directory  temp_dir         /home/exampleuser/pear/tmp/pear/install

Ejecuta lo siguiente para actualizar el directorio tmp de caché. Cambie 'username' al usuario de shell en el que estás ejecutando el comando actualmente.

[server]$ pear config-set cache_dir /home/exampleuser/pear/tmp/
config-set succeeded

Instalar paquetes

Ahora puedes instalar cualquier paquete que desees con el comando 'pear'. Por ejemplo, ejecuta lo siguiente para instalar el paquete de correo:

[server]$ pear install --alldeps Mail
  • El indicador -onlyreqdeps indica al instalador que instale solo las dependencias requeridas.
  • Visita http://pear.php.net/packages.php para obtener una lista de los paquetes disponibles

Si ves algún error al intentar la instalación, consulta el siguiente artículo para ver las posibles soluciones:

Confirmación de la configuración del entorno PEAR

Para ver si tu entorno está configurado correctamente, ejecuta los siguientes comandos en tu directorio de usuarios:

Para determinar qué comando PHP (local o compartido) se utilizará:

[server]$ which php

Para determinar qué versión de PHP se está utilizando:

[server]$ php -v

Para determinar qué comando PEAR (local o compartido) se utilizará:

[server]$ which pear

Para determinar qué versión de PEAR se está utilizando:

[server]$ pear -V

Usa este comando para mostrar todas las configuraciones de PEAR: tus datos de configuración local deben mostrar:

[server]$ pear config-show

Solución de problemas

Consulta el siguiente artículo para ver ejemplos de solución de problemas:

Ejemplo de un script de correo SMTP PHP

Visita el siguiente artículo para ver un ejemplo de cómo enviar correo PHP a través de SMTP

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?