1. Introducción
ionCube Loader es una extensión PHP que permite ejecutar ficheros PHP codificados (encoded) con ionCube Encoder. Muchas aplicaciones comerciales PHP distribuyen su código protegido con ionCube, por lo que es necesario tener el loader instalado en el motor PHP del servidor para poder ejecutarlas.
Core-Admin incluye soporte integrado para gestionar ionCube Loader a través del módulo Webhosting Management, permitiendo activar, desactivar y actualizar los loaders de forma sencilla, tanto desde la interfaz web como desde la línea de comandos.
2. Requisitos previos
- Core-Admin instalado con el módulo Webhosting Management activo
- Acceso de administrador al panel de Core-Admin
- Arquitectura del servidor: x86-64 o aarch64 (ARM 64 bits)
- Conexión a internet en el servidor (para descargar los loaders desde ioncube.com)
3. Motores PHP soportados
La herramienta detecta automáticamente todos los motores PHP disponibles en el servidor:
-
Motores Core-Admin: instalados en
/usr/core-admin/php/*/bin/php(por ejemplo PHP 7.4, 8.1, 8.2, 8.3…) -
Motor PHP del sistema: el PHP instalado por el sistema operativo en
/usr/bin/php
Cada motor se gestiona de forma independiente, pudiendo tener ionCube activado en unos motores y desactivado en otros según las necesidades.
4. Gestión desde la interfaz web
Acceder al panel de ionCube Loader
- Inicia sesión en el panel web de Core-Admin
- Navega hasta el módulo Webhosting Management
- En el árbol lateral, dentro de la sección de administración, busca el nodo ionCube Loader
Nota: Esta opción solo es visible para usuarios con permisos de administrador.
Listado de motores PHP
Al acceder a la sección ionCube Loader, se muestra un listado con todos los motores PHP detectados en el servidor. Para cada motor se indica:
| Columna | Descripción |
|---|---|
| Version | Identificador del motor (por ejemplo 7.4, 8.2, default) |
| Full version | Versión completa de PHP (por ejemplo 7.4.33, 8.2.15) |
| ionCube active | Indicador on/off que muestra si ionCube está activado |
| ionCube version | Versión del loader ionCube instalado (por ejemplo v13.0.4) |
| Type | Tipo de motor: core-admin o system
|
Puedes usar el botón Refresh de la barra de herramientas para actualizar el listado, y la caja de búsqueda para filtrar por versión.
Activar ionCube Loader en un motor PHP
- En el listado de motores, haz clic sobre el motor PHP donde deseas activar ionCube
- Se abrirá la vista de detalle del motor con dos secciones: Engine details e ionCube status
- Pulsa el botón Enable ionCube
- Aparecerá un diálogo de confirmación indicando que se activará la extensión ionCube Loader y que el servicio PHP-FPM será reiniciado
- Confirma la operación
[PANTALLAZO: vista de detalle de un motor PHP con el botón “Enable ionCube” visible y el diálogo de confirmación]
La operación realiza automáticamente los siguientes pasos:
- Descarga los loaders de ionCube desde
downloads.ioncube.com(si no están ya en caché) - Copia el fichero
.socorrespondiente a la versión de PHP en el directorio de extensiones - Crea el fichero de configuración
00-ioncube.ini(el prefijo00-garantiza que se carga antes que otras extensiones) - Verifica que ionCube se ha activado correctamente
- Reinicia el servicio PHP-FPM asociado al motor
Desactivar ionCube Loader
- Selecciona el motor PHP donde deseas desactivar ionCube
- Pulsa el botón Disable ionCube
- Confirma la operación en el diálogo de confirmación
La operación elimina el fichero de configuración 00-ioncube.ini, elimina el fichero .so del directorio de extensiones, y reinicia el servicio PHP-FPM.
5. Gestión desde la línea de comandos
Para escenarios de automatización o cuando se prefiere trabajar desde terminal, Core-Admin proporciona la herramienta crad-ioncube-loader que se ejecuta con privilegios de root.
Listar motores PHP y estado de ionCube
crad-ioncube-loader --list
Ejemplo de salida:
PHP Engine Version ionCube ionCube Version Type
7.4 7.4.33 [X] v13.0.4 core-admin
8.1 8.1.27 [ ] - core-admin
8.2 8.2.15 [X] v13.0.4 core-admin
default 8.2.22 [ ] - system
Para obtener la salida en formato JSON (útil para scripting):
crad-ioncube-loader --list --json
Activar ionCube para un motor PHP
crad-ioncube-loader --enable='8.2'
Salida esperada:
INFO: downloading ionCube loaders from https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
INFO: copying ioncube_loader_lin_8.2.so to /usr/core-admin/php/8.2/lib/php/extensions/...
INFO: creating /etc/core-admin/php/8.2/conf.d/00-ioncube.ini
OK: ionCube loader activated for PHP 8.2
INFO: restarting core-admin-php-fpm-8.2
Para el PHP del sistema, usar default como versión:
crad-ioncube-loader --enable='default'
Desactivar ionCube para un motor PHP
crad-ioncube-loader --disable='8.2'
Actualizar los loaders de ionCube
Cuando se publica una nueva versión de ionCube Loader, puedes forzar la re-descarga de los ficheros .so con:
crad-ioncube-loader --update-loaders
Salida esperada:
INFO: downloading ionCube loaders from https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
OK: ionCube loaders updated at /usr/src/core-admin/ioncube/ioncube
Este comando elimina la caché local y descarga la última versión disponible desde ioncube.com. Es posible combinarlo con --enable para actualizar y activar en un solo paso:
crad-ioncube-loader --update-loaders --enable='8.2'
Resumen de opciones
| Opción | Descripción |
|---|---|
--list |
Listar motores PHP y estado de ionCube |
--list --json |
Listado en formato JSON |
--enable=VERSION |
Activar ionCube para el motor PHP indicado |
--disable=VERSION |
Desactivar ionCube para el motor PHP indicado |
--update-loaders |
Forzar re-descarga de los loaders ionCube |
Detalles técnicos
Dónde se almacenan los ficheros
| Elemento | Ruta |
|---|---|
| Caché de loaders descargados | /usr/src/core-admin/ioncube/ioncube/ |
Fichero .so del loader (core-admin) |
<extension_dir>/ioncube_loader_lin_<major>.<minor>.so |
| Configuración INI (core-admin) | /etc/core-admin/php/<version>/conf.d/00-ioncube.ini |
| Configuración INI (sistema, CLI) | /etc/php/<version>/cli/conf.d/00-ioncube.ini |
| Configuración INI (sistema, FPM) | /etc/php/<version>/fpm/conf.d/00-ioncube.ini |
Contenido del fichero 00-ioncube.ini
El fichero de configuración contiene una única directiva:
zend_extension = /ruta/al/directorio/extensiones/ioncube_loader_lin_8.2.so
El prefijo 00- en el nombre del fichero es importante: garantiza que ionCube Loader se cargue antes que cualquier otra extensión PHP, lo cual es un requisito de ionCube.
Servicio PHP-FPM
Tras activar o desactivar ionCube, la herramienta reinicia automáticamente el servicio PHP-FPM asociado al motor para que los cambios surtan efecto de inmediato:
-
Motores Core-Admin: servicio
core-admin-php-fpm-<version>(por ejemplocore-admin-php-fpm-8.2) -
Motor del sistema: el servicio varía según la distribución (por ejemplo
php8.2-fpmen Debian Bookworm,php8.3-fpmen Ubuntu Noble)
Arquitecturas soportadas
La herramienta detecta automáticamente la arquitectura del servidor y descarga el paquete correspondiente:
-
x86-64:
ioncube_loaders_lin_x86-64.tar.gz -
aarch64 (ARM 64):
ioncube_loaders_lin_aarch64.tar.gz
6. Verificación manual
Si deseas verificar manualmente que ionCube está correctamente activado en un motor PHP, puedes ejecutar:
# Para un motor core-admin (ejemplo PHP 8.2)
/usr/core-admin/php/8.2/bin/php -v
# Para el PHP del sistema
php -v
Si ionCube está activo, la salida incluirá una línea similar a:
PHP 8.2.15 (cli) (built: ...)
with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v13.0.4
...
7. Preguntas frecuentes
P: ¿Necesito reiniciar algo manualmente tras activar ionCube?
No. La herramienta reinicia automáticamente el servicio PHP-FPM del motor seleccionado. Los sitios web que usen ese motor PHP comenzarán a soportar ficheros ionCube de forma inmediata.
P: ¿Puedo tener ionCube activado en unos motores PHP y desactivado en otros?
Sí. Cada motor PHP se gestiona de forma independiente. Puedes activar ionCube únicamente en los motores que lo necesiten.
P: ¿Cómo actualizo ionCube Loader cuando sale una nueva versión?
Usa el comando crad-ioncube-loader --update-loaders para descargar la última versión. Después, vuelve a activar ionCube en los motores deseados con --enable para que utilicen la nueva versión del loader. También es posible combinar ambas opciones: crad-ioncube-loader --update-loaders --enable='8.2'.
P: ¿Qué ocurre si mi arquitectura no está soportada?
La herramienta soporta las arquitecturas x86-64 y aarch64 (ARM 64 bits). Si el servidor utiliza otra arquitectura, se mostrará un error indicando que no está soportada.
P: ¿Dónde se descargan los loaders?
Los ficheros se descargan desde downloads.ioncube.com y se almacenan en caché en /usr/src/core-admin/ioncube/. Mientras la caché exista, no se re-descargan en sucesivas activaciones, lo que hace el proceso más rápido.


