Configuración de Extensiones PHP con selectorctl para CloudLinux + cPanel

  Cloudlinux

Introducción

Esta guía contiene los comandos necesarios para configurar extensiones PHP en servidores con CloudLinux y cPanel durante la instalación inicial o migración. Los comandos están listos para ejecutarse y cubren todas las versiones de PHP disponibles.

¿Qué es selectorctl?

selectorctl es una herramienta de línea de comandos que permite a los administradores de servidores gestionar las versiones de PHP y sus extensiones en sistemas con CloudLinux y PHP Selector instalados.

Parte 1: Habilitación Global de Extensiones PHP

¿Cuándo usar estos comandos?

Estos comandos deben ejecutarse durante:

  1. Instalación inicial del servidor con CloudLinux y cPanel
  2. Migración de servidor para configurar todas las extensiones necesarias
  3. Actualización del sistema cuando se agregan nuevas versiones de PHP
  4. Estandarización de entorno para asegurar que todas las versiones tengan las mismas extensiones

Extensiones incluidas

Los comandos habilitan las siguientes extensiones PHP esenciales:

  • bcmath: Cálculos matemáticos de precisión arbitraria
  • dom: Manipulación de documentos XML/HTML
  • fileinfo: Detección de tipos de archivos
  • gd: Procesamiento y manipulación de imágenes
  • imagick: Procesamiento avanzado de imágenes con ImageMagick
  • imap: Gestión de correo electrónico (IMAP, POP3, NNTP)
  • intl: Internacionalización y localización
  • ioncube_loader: Ejecución de archivos codificados con ionCube
  • json: Manejo de datos JSON
  • mbstring: Soporte para cadenas multibyte
  • opcache: Caché de código PHP para mejor rendimiento
  • pdo: Abstracción de acceso a bases de datos
  • pdo_mysql: Driver PDO para MySQL
  • pdo_sqlite: Driver PDO para SQLite
  • phar: Archivos PHP comprimidos
  • posix: Funciones POSIX
  • soap: Cliente y servidor de servicios web SOAP
  • sockets: Comunicación de red de bajo nivel
  • sodium: Criptografía moderna
  • xmlreader: Lectura de XML
  • xmlwriter: Escritura de XML
  • xsl: Transformaciones XSLT
  • zip: Manejo de archivos ZIP

Comandos – Habilitar extensiones para todas las versiones PHP

selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=5.1
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=5.2
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=5.3
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=5.4
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=5.5
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=5.6
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=7.0
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=7.1
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=7.2
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=7.3
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=7.4
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=8.0
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=8.1
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=8.2
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=8.3
selectorctl --enable-extensions=bcmath,dom,fileinfo,gd,imagick,imap,intl,ioncube_loader,json,mbstring,opcache,pdo,pdo_mysql,pdo_sqlite,phar,posix,soap,sockets,sodium,xmlreader,xmlwriter,xsl,zip --version=8.4

Parte 2: Restablecimiento de Extensiones de Usuarios

¿Cuándo usar estos comandos?

Estos comandos deben ejecutarse cuando:

  1. Después de habilitar las extensiones globales (Parte 1) para que todos los usuarios hereden la configuración
  2. Durante migraciones de servidor para estandarizar configuraciones de todos los usuarios
  3. Cuando hay inconsistencias en las configuraciones personalizadas de usuarios
  4. Para forzar configuración estándar y evitar problemas de compatibilidad

⚠️ Advertencia importante

Estos comandos sobrescribirán TODAS las configuraciones personalizadas de extensiones PHP de los usuarios. Todas las extensiones personalizadas habilitadas o deshabilitadas por usuarios serán restablecidas a la configuración global predeterminada.

Comandos – Restablecer extensiones de usuarios para todas las versiones PHP

selectorctl --list-users --version=5.1 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=5.1 --user=/' | sh
selectorctl --list-users --version=5.2 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=5.2 --user=/' | sh
selectorctl --list-users --version=5.3 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=5.3 --user=/' | sh
selectorctl --list-users --version=5.4 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=5.4 --user=/' | sh
selectorctl --list-users --version=5.5 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=5.5 --user=/' | sh
selectorctl --list-users --version=5.6 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=5.6 --user=/' | sh
selectorctl --list-users --version=7.0 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=7.0 --user=/' | sh
selectorctl --list-users --version=7.1 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=7.1 --user=/' | sh
selectorctl --list-users --version=7.2 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=7.2 --user=/' | sh
selectorctl --list-users --version=7.3 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=7.3 --user=/' | sh
selectorctl --list-users --version=7.4 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=7.4 --user=/' | sh
selectorctl --list-users --version=8.0 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=8.0 --user=/' | sh
selectorctl --list-users --version=8.1 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=8.1 --user=/' | sh
selectorctl --list-users --version=8.2 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=8.2 --user=/' | sh
selectorctl --list-users --version=8.3 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=8.3 --user=/' | sh
selectorctl --list-users --version=8.4 | sed -e 's/,/\n/g' | sed 's/^/selectorctl --reset-user-extensions --version=8.4 --user=/' | sh

Verificación y notas importantes

Verificar la configuración

Después de ejecutar los comandos, verifica que las extensiones estén habilitadas correctamente:

selectorctl --list-extensions --version=8.2

Notas importantes

  1. Orden de ejecución: Siempre ejecuta primero los comandos de la Parte 1 (habilitar extensiones) y luego los de la Parte 2 (restablecer usuarios).
  2. Tiempo de ejecución: El proceso puede tardar varios minutos dependiendo del número de usuarios en el servidor.
  3. Versiones obsoletas: Las versiones PHP 5.x, 7.0, 7.1, 7.2 y 7.3 ya no reciben soporte de seguridad. Considera deshabilitarlas si no son absolutamente necesarias.
  4. Notificación a usuarios: Si ejecutas estos comandos en un servidor en producción, notifica a los usuarios que sus configuraciones personalizadas de PHP serán restablecidas.
  5. Backup: Considera hacer un snapshot o backup del servidor antes de ejecutar estos comandos en producción.

Última actualización: Enero 2026
Compatibilidad: CloudLinux + cPanel + PHP Selector