Generalidades
Este artículo explica cómo agregar y compilar extensiones y cargadores PHP en su sitio web.
Antecedentes
Extensiones
Las extensiones PHP son bibliotecas de código prediseñado. Te permiten utilizar específicos funciones ya creadas para simplificar tu código. Revisa esta página para obtener una lista de extensiones PHP.
Loaders
Los loaders de PHP agregan tipos especiales de archivos PHP que han sido codificados con una codificación producto como ionCube loader.
Revisar si una extensión está activa
Antes de agregar una extensión, asegúrate de que no esté activada de forma predeterminada. Puedes ver cualquier extensión activa si agregas un archivo phpinfo.php a tu sitio.
Si una extensión está activa, verás su bloque correspondiente al visitar el archivo phpinfo.php. Por ejemplo, si buscas la palabra Phar, verás Phar: PHP Archive support y enabled.
Habilitar una extensión
Los siguientes pasos solo se aplican a las extensiones que ya están instaladas con la versión de PHP actualmente en el servidor, pero no están habilitados actualmente. La sección de abajo debe usarse en su lugar si la extensión NO está instalada en el servidor.
Los siguientes pasos agregan código a tu usuario phprc para habilitar una extensión.
Crear un archivo phprc
Revisa los siguientes artículos para obtener instrucciones sobre cómo crear un archivo phprc:
Si el archivo ya existe, solo necesitas actualizarlo usando un cliente FTP o SSH:
Cargar la extensión
Agrega una línea a tu archivo phprc para cargar una extensión usando esta sintaxis:
extension = extension_name.soEliminar todos los procesos de PHP en ejecución
Asegúrate de eliminar los procesos php en ejecución para garantizar que la nueva configuración surta efecto.
Confirmar los cambios
Después de editar el archivo y cerrar todos los procesos PHP, verifica que la extensión esté habilitada creando un archivo phpinfo.php. Cuando veas este archivo en un navegador, deberías ver la extensión en la lista.
Si no ves que tus cambios se han actualizado, intenta eliminar todos los procesos de PHP nuevamente.
Compilar extensiones de PHP
Estos pasos solo son necesarios si NO hay una extensión ya instalada en el servidor. Revisa la sección de arriba para asegurarte de cuáles están instalados utilizando un archivo phpinfo.php.
Aunque DreamHost incluye las extensiones PHP más comunes necesarias en tu sitio, es posible que necesites configurar y compilar extensiones de PHP adicionales.
Por favor ten cuidado con la cantidad y los tipos de extensiones que agregas, ya que pueden afectar significativamente el rendimiento del sitio.
En las siguientes instrucciones, asegúrate de reemplazar myphpextension con el nombre real de la extensión que estás instalando.
Descargar la extensión de PHP
Descarga la extensión PHP que deseas utilizar en el directorio de inicio de tu usuario en el servidor de DreamHost. Debería ser un archivo .tar.gz, que puedes encontrar en uno de los siguientes sitios:
Luego, corre el siguiente comando para descargarlo en el directorio de inicio de tu usuario:
[server]$ wget myphpextension.tgz
Dirigirse al directorio de inicio
Asegúrate de estar en el directorio de inicio de tu usuario corriendo lo siguiente:
[server]$ cd ~
Extraer el archivo
Utiliza el siguiente comando para extraer el archivo:
[server]$ tar -xvzf myphpextension.tgz
Luego, dirígete al directorio donde se extrajo el archivo:
[server]$ cd myphpextension/
Correr la versión phpize
phpize es una herramienta de línea de comandos que viene con PHP y se utiliza cuando deseas compilar e instalar extensiones PHP personalizadas a partir del código fuente.
Ejecuta la versión de phpize que coincida con la versión de PHP que utiliza tu sitio. Por ejemplo, si tu sitio usa PHP 8.4, corre el siguiente comando:
[server]$ phpize-8.4
Especificar la ruta
Las instrucciones que vienen con tu extensión de PHP deben incluir un comando para configurarla. Puede verse así:
[server]$ ./configure --enable-myphpextension --with-php-config=/usr/local/php84/bin/php-config
Compilar tu extensión
Compila tu extensión usando el comando realizar instalación:
[server]$ make
Verifica el resultado para ver dónde están instaladas las bibliotecas. Deberías ver algo como esto:
Libraries have been installed in:
/home/username/myphpextension/modules
Si sigues la documentación incluida con tu extensión PHP, no necesitas correr make install, ya que no está modificando la configuración PHP del servidor directamente. En su lugar, realiza un cambio local en la configuración de PHP en tu cuenta de usuario.
Incluir la ruta al archivo .so
Si compilaste tu propia extensión de PHP, asegúrate de incluir la ruta completa al archivo .so:
zend_extension=/home/username/.php/extensions/myphpextension.so
Organiza tus extensiones y copia tu archivo .so (opcional)
Para mantener organizadas tus extensiones de PHP personalizadas, créales un directorio en el directorio .php de tu usuario:
[server]$ mkdir -p $HOME/.php/extensions/
Un archivo .so es un tipo de archivo de biblioteca compilada que se utiliza principalmente en sistemas tipo Unix (como Linux), incluidos aquellos en los que PHP corre. Copia tu archivo .so al nuevo directorio que acabas de crear:
[server]$ cp modules/myphpextension.so $HOME/.php/extensions/
WebP
El soporte para formato de imagen WebP está disponible vía GD, el cual está activado por defecto en los servidores de DreamHost.