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:
- Instalación inicial del servidor con CloudLinux y cPanel
- Migración de servidor para configurar todas las extensiones necesarias
- Actualización del sistema cuando se agregan nuevas versiones de PHP
- 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:
- Después de habilitar las extensiones globales (Parte 1) para que todos los usuarios hereden la configuración
- Durante migraciones de servidor para estandarizar configuraciones de todos los usuarios
- Cuando hay inconsistencias en las configuraciones personalizadas de usuarios
- 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
- Orden de ejecución: Siempre ejecuta primero los comandos de la Parte 1 (habilitar extensiones) y luego los de la Parte 2 (restablecer usuarios).
- Tiempo de ejecución: El proceso puede tardar varios minutos dependiendo del número de usuarios en el servidor.
- 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.
- 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.
- 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