¿Cómo instalar 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 usando 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 tu 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. Revisa 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 usando:
  3. Una vez que hayas iniciado sesión en tu servidor, asegúrate de estar en tu directorio de usuario. Corre los siguientes comandos en tu terminal SHELL:
    [server]$ cd ~
    [server]$ pwd 
    /home/username
    • El usuario es llamado username.
    • En este ejemplo, puedes ver que está en el directorio de usuarios porque la ruta completa es /home/username.
  4. Haz un directorio temporal. Esto se usará en los siguientes pasos al instalar.
    [server]$ mkdir -p pear/tmp/pear/install
  5. Corre el siguiente comando wget para descargar el archivo go-pear.phar en tu directorio de usuarios:
    [server]$ wget https://pear.php.net/go-pear.phar
  6. Ejecuta el archivo ingresando este comando en el mismo directorio:
    [server]$ /usr/local/php74/bin/php go-pear.phar
  7. Durante el proceso de instalación, proporciona las siguientes respuestas en las indicaciones:
    [server]$ /usr/local/php74/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/username/pear
     2. Temporary directory for processing            : /tmp/pear/install
     3. Temporary directory for downloads             : /tmp/pear/install
     4. Binaries directory                            : /home/username/pear/bin
     5. PHP code directory ($php_dir)                 : /home/username/pear/share/pear
     6. Documentation directory                       : /home/username/pear/docs
     7. Data directory                                : /home/username/pear/data
     8. User-modifiable configuration files directory : /home/username/pear/cfg
     9. Public Web Files directory                    : /home/username/pear/www
    10. Tests directory                               : /home/username/pear/tests
    11. Name of configuration file                    : /home/username/.pearrc
    
    1-11, 'all' or Enter to continue:
    
  8. Debes cambiar la ubicación de los directorios tmp. Escribe 2 y haz clic en Enter.
    (Use $prefix as a shortcut for '/home/username/pear', etc.)
    Temporary directory for processing [/tmp/pear/install] : /home/username/pear/tmp/pear/install
    Cambia el username a tu nombre de usuario real de Shell en el comando anterior.
  9. Haz clic en Enter 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/username/pear', etc.)
    Temporary directory for downloads [/tmp/pear/install] : /home/username/pear/tmp/pear/install
    Cambia el username a tu nombre de usuario real de Shell en el comando anterior.
  11. Haz clic en Enter para guardar y continuar.
    WARNING!  The include_path defined in the currently used php.ini does not
    contain the PEAR PHP directory you just specified:
    </home/username/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/php74/php.ini>? [Y/n] :
  12. Escribe Y y presiona Enter.
    WARNING: Cannot write to /etc/php74/php.ini, but php.ini was successfully created
    at </home/username/pear/php.ini-gopear>. Please replace the file </etc/php74/php.ini> with
    </home/username/pear/php.ini-gopear> or modify your php.ini by adding:
    
    include_path=".:/home/username/pear/share/pear"
    
    Current include path           : .:
    Configured directory           : /home/username/pear/share/pear
    Currently used php.ini (guess) : /etc/php74/php.ini
    Press Enter to continue:
  13. Haz clic en Enter nuevamente para continuar.
    The 'pear' command is now at your service at /home/username/pear/bin/pear
    
    ** The 'pear' command is not currently in your PATH, so you need to
    ** use '/home/username/pear/bin/pear' until you have added
    ** '/home/username/pear/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!
    La ruta de include_path en los siguientes pasos.
  14. Visita el artículo crear y editar archivos vía 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]$ '
  15. En la parte inferior, ingresa estas dos líneas:
    export PHP_PEAR_PHP_BIN=/usr/local/php74/bin/php
    export PATH=${HOME}/pear/bin:/usr/local/php74/bin:${PATH}
  16. Guarda y cierra el archivo y regrese a tu shell.
  17. Corre 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 tu 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 username 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.

Corre lo siguiente para ver los directorios actuales /tmp:

[server]$ pear config-show | grep cache_dir
PEAR Installer cache directory cache_dir        /tmp/pear/cache

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

[server]$ pear config-set cache_dir /home/username/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 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á usando:

[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á usando:

[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

Revisa 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?