Si necesita encriptar código PHP en su aplicación, entonces una opción muy popular es ionCube, que ha sido diseñado para integrarse con aplicaciones pequeñas como de nivel empresarial.

Típicamente, el código fuente PHP es pasado primero a través del codificador ionCube antes de que una aplicación haya sido distribuida. Esto protege el código de ser legible por humanos o de ser editado.

Sin embargo, por defecto, el código fuente cifrado de PHP no puede ejecutarse directamente en el servidor. Necesita ser descifrado antes de que el motor PHP pueda procesarlo.

Aquí es donde entra en juego el ionCube loader.

Introducción

Lanzada por primera vez en 2002, es una extensión PHP que desencripta el código (previamente encriptado) sobre la marcha y lo prepara para su ejecución junto con el resto de la aplicación PHP.

Todo es cuestión de seguridad. Si una aplicación PHP contiene código/algoritmos propios, o se requieren características de licencia de software, entonces usar ionCube es una solución ideal para proteger su código fuente.

Para codificar archivos PHP primero necesita comprar el codificador ionCube. También hay una versión en línea del codificador disponible que incluye soporte para encriptar código PHP de forma gratuita con fines de prueba (más información a continuación).

En cuanto al cargador de ionCube, es gratuito para que cualquiera pueda descargarlo e instalarlo en su servidor. Hay varias versiones diferentes de ionCube loader disponibles, cada una diseñada para un sistema específico (Linux, Windows, macOS, etc.), y arquitecturas de 32 o 64 bits.

Una vez descargado, deberá instalar la versión de ionCube loader que coincida con la versión de PHP que se está ejecutando en su servidor, ya que cada descarga disponible contiene múltiples versiones del ionCube loader para todas las diferentes versiones de PHP.

Si no está seguro de qué versión necesita descargar e instalar, no se preocupe, cubriremos esto en detalle en breve.

Como nota al margen, si está usando HHVM (HipHop Virtual Machine) para procesar PHP, debe tener en cuenta que ionCube loader no es compatible con HHVM.

Sin embargo, este es un punto discutible ya que HHVM terminó el soporte para PHP a partir de la versión v3.30. Por lo tanto, esto sólo es relevante si está utilizando una versión anterior de HHVM. Si todavía está usando HHVM y necesita encriptar archivos PHP con ionCube, entonces tendrá que cambiar a un motor PHP más estándar que soporte ionCube.

Preparación para la Instalación

Para completar la instalación manual del ionCube loader es una buena idea estar cómodo con los comandos comunes del terminal. Si ya está familiarizado con el terminal, no dude en pasar a la siguiente sección.

En esta guía hacemos referencia a los siguientes comandos de terminal:

  • cat – Envía el contenido de un archivo al terminal.
  • cd – Cambia el directorio de trabajo actual.
  • cp – Copia uno o más archivos.
  • echo – Envía un mensaje al terminal.
  • grep – Poderosa búsqueda basada en texto.
  • head – Da salida a las pocas líneas iniciales de un archivo(s).
  • ls – Lista de archivos y directorios.
  • mkdir – Crear un nuevo directorio.
  • nano – Editor de texto compacto dentro de la ventana del terminal.
  • ssh – Crea una nueva conexión SSH remota.
  • tar – Extraer archivos de un archivo comprimido.
  • wget – Descarga archivos a través de HTTP.

Entender lo que hacen estos comandos de terminal y cómo utilizarlos hará que el proceso de instalación del ionCube loader sea mucho más fácil. Haga clic en los enlaces para obtener información más detallada sobre cada comando.

Habilitar ionCube Loader en MyKinsta

Si eres cliente de Kinsta, puedes habilitar el cargador de ionCube en MyKinsta. Para habilitar el cargador de ionCube, ve a Sitios > Herramientas > ionCube Loader, y presiona el botón «Habilitar». En este momento, el cargador ionCube sólo puede ser habilitado en sitios que utilizan PHP 7.4 o 8.1 (ionCube no es compatible con PHP 8.0). ionCube es gratuito para los clientes de Kinsta y se puede instalar en cualquier plan.

Activar el cargador del ionCube en MyKinsta.
Activar el cargador del ionCube en MyKinsta.

Si no es cliente de Kinsta, a continuación le explicamos cómo instalar manualmente el ionCube loader en un VPS. Asegúrese de que tiene acceso SSH completo y de que se siente cómodo ejecutando comandos de terminal.

Instalación Manual del ionCube Loader

Hay un conjunto específico de pasos necesarios para completar la instalación de ionCube loader manualmente en su servidor. Este proceso puede variar ligeramente dependiendo de la configuración exacta de su servidor, pero mientras esté ejecutando un servidor basado en Linux, las diferencias deben ser mínimas.

Durante el proceso de instalación cubriremos cada uno de los siguientes pasos en detalle:

  1. Conéctese a su Sitio Remotamente a Través de SSH
  2. Descargue y Extraiga la Extensión PHP de ionCube Loader.
  3. Copiando el Archivo.SO del ionCube Loader.
  4. Configuración y Reinicio del Servidor.
  5. Verificación de la Instalación del ionCube Loader
  6. Prueba de la Instalación de ionCube
  7. Compruebe los Registros de Errores por Problemas de Instalación

Conéctese a su Sitio Remotamente a Través de SSH

Antes de que podamos descargar y comenzar la instalación de ionCube loader necesitamos establecer una conexión remota segura al servidor a través de SSH (Secure Shell). Este se ha convertido en el método estándar para interactuar con un servidor a través de la línea de comandos y lo haremos extensivo durante el proceso de instalación de la extensión PHP del cargador ionCube.

Para abrir una nueva conexión SSH, deberá tener a mano la siguiente información, que deberá introducir cada vez que inicie sesión:

  • Nombre de host
  • Número de puerto
  • Nombre de usuario
  • Contraseña

Es una buena idea buscar esta información y tomar nota de ella con anticipación. Normalmente, esta información se puede encontrar en el cPanel de su servidor o en el panel de control como MyKinsta. Su anfitrión podrá ayudarlo si no puede encontrar la información que está buscando.

También puede conectarse a su servidor remoto utilizando las teclas SSH. Este método se considera generalmente una forma más segura de conectarse a través de SSH. Su servidor debería soportar ambos métodos.

Si desea utilizar claves SSH en lugar de introducir la combinación de nombre de usuario y contraseña cada vez que inicie sesión, consulte esta completa guía para obtener más información.

Si usted está en sistemas operativos macOS o Linux, entonces la terminal incorporada estará bien para el acceso SSH. Si está en Windows, sin embargo, necesitará usar un cliente SSH como PuTTY, ya que esta función no está disponible de forma predeterminada.

PuTTY - Cliente SSH de Windows
PuTTY – Cliente SSH de Windows

Usaremos el terminal macOS durante el resto de esta guía. Para conectarse a su servidor a través de SSH necesitará los siguientes detalles:

  • Nombre de usuario
  • Nombre de host
  • Número de puerto
  • Contraseña (SFTP)

El comando del terminal SSH toma la forma:

ssh username@hostname -p portnumber

El número de puerto suele ser 22, pero puede ser diferente para su servidor específico. Por ejemplo, puede haber diferentes números de puerto utilizados para los servidores compartidos y dedicados, así que compruebe con su proveedor de alojamiento si no está seguro antes de intentar conectarse.

Una vez que se ha introducido el comando ssh, se le pedirá una contraseña tras la cual se completará la conexión SSH remota y tendrá acceso directo al servidor.

Conexión SSH remota al servidor
Conexión SSH remota al servidor

Descargue y Extraiga la Extensión PHP de ionCube Loader

Hay diferentes versiones del ionCube loader disponibles para descargar. Estos están listados por plataforma y fecha de lanzamiento para facilitar la elección de la versión adecuada para su sistema en particular.

Archivos de descarga de ionCube loader
Archivos de descarga de ionCube loader

Puede elegir suscribirse a las actualizaciones del cargador ionCube para asegurarse de que su extensión del cargador esté actualizada con la última versión.

Para saber qué versión del cargador es la correcta para su servidor podemos usar el comando PHP que muestra datos de configuración detallados de PHP.

[phpinfo()](https://www.php.net/manual/en/function.phpinfo.php)

Para utilizar esta función PHP para dar salida a los datos requeridos, siga los siguientes pasos:

  • Conéctese a su servidor a través de SSH.
  • Cree un archivo PHP.
  • Añade la función phpinfo().
  • Guardar el archivo dentro de la carpeta del sitio web raíz
  • Visualización en un navegador.
  • Busque en el documento las referencias de ionCube.
  • Borre el archivo cuando haya terminado.

Esto es bastante trabajo sólo para mostrar los datos de configuración del servidor PHP. Afortunadamente, hay una manera más fácil de hacerlo a través de la terminal.

Ejecutando el comando php -i servirá la misma respuesta del motor PHP CLI que phpinfo(). Sin embargo, sólo queremos que se emitan las primeras líneas, ya que contienen la información relevante sobre el entorno de servidor en el que se está ejecutando PHP.

Esto se puede hacer con:

php -i | head -n 5

lo que dará como resultado la siguiente información:

Determinación de la versión del ionCube Loader
Determinación de la versión del ionCube Loader

Como puede ver, nuestro servidor particular está basado en Linux y el x86_64 se refiere a un sistema de 64 bits. Así que el cargador de ionCube que debemos descargar es el archivo tar.gz d 64 bits de Linux. Asegúrese de descargar el archivo del ionCube loader relevante para su sistema.

El archivo del ionCube loader debe ser descargado a una carpeta temporal, así que vamos a crear uno ahora antes de hacer cualquier otra cosa:

cd /tmp
mkdir ioncube
cd ioncube/

Para descargar el archivo de ionCube use el comando wget.

wget 
https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

Esto descarga el paquete del ionCube loader en la carpeta temporal y produce el progreso de la descarga hasta que se complete.

Descargar ionCube Archive
Descargar ionCube Archive

Una vez que el archivo se haya descargado correctamente, extráigalo en la misma carpeta /tmp con:

tar xvfz ioncube_loaders_lin_x86-64.tar.gz
Extraer el archivo de ionCube
Extraer el archivo de ionCube

Esto extrae todos los archivos archivados en una nueva carpeta de ioncube. Enumérelos con ls ioncube:

Archivos de ionCube Loader
Archivos de ionCube Loader

Como puede ver, hay múltiples archivos individuales de ionCube loader con la extensión .so. Cada nombre de archivo contiene un número diferente que se refiere a la versión PHP que se ejecuta en su servidor, por lo que es importante que instale la versión correcta.

Anteriormente, ejecutamos el comando php -i | head -n 5 para obtener la información del sistema operativo del servidor. El primer par de líneas de salida también nos dan la versión PHP que en nuestro caso era 7.2.22.

Para determinar rápidamente qué archivo del ionCube loader debemos usar, liste sólo los archivos que contienen _7 para que sea más fácil ver sólo los archivos en los que estamos interesados.

Esto lo podemos hacer canalizando la salida de ls a grep para filtrar la lista de archivos:

ls ioncube | grep _7

lo que resulta en:

Archivos filtrados del ionCube Loader
Archivos filtrados del ionCube Loader

La coincidencia más cercana a nuestra versión de PHP es ioncube_loader_lin_7.2.so. Hay otro archivo coincidente llamado ioncube_loader_lin_7.2_ts.so pero podemos ignorarlo ya que es la versión thread-safe que no es relevante para nuestra configuración particular del servidor.

Por cierto, si pensara que los archivos .so son un tipo de archivo de biblioteca que significa ‘shared object’. Estos son algo similares a los archivos DLL (Dynamic Link Library) con los que puede estar familiarizado si es un usuario de Windows.

Copiar el Archivo.SO del ionCube Loader

Para completar la instalación del ionCube loader sólo necesitamos copiar el archivo ioncube_loader_lin_7.2.so a la carpeta de extensiones PHP.

Para averiguar la ubicación de la carpeta de extensiones, introduzca el siguiente comando de terminal:

php -i | grep extension_dir

Que devuelve una cadena que contiene la información requerida.

extension_dir => /opt/cpanel/ea-php72/root/usr/lib64/php/modules => /opt/cpanel/ea-php72/root/usr/lib64/php/modules

No olvide que esto probablemente será único para su propio servidor. Ahora que conocemos la carpeta de destino podemos copiar el archivo del ionCube loader.

sudo cp /tmp/ioncube/ioncube/ioncube_loader_lin_7.2.so /opt/cpanel/ea-php72/root/usr/lib64/php/modules
Copiar ionCube loader en el directorio de instalación
Copiar ionCube loader en el directorio de instalación

Ahora mismo el cargador ionCube está en la ubicación correcta pero necesitamos que PHP sepa que la extensión está disponible y dónde está instalada.

Podemos hacer esto editando el archivo de configuración principal php.ini y añadiendo una nueva entrada zend_extension especificando la ruta a ioncube_loader_lin_7.2.so.

Sin embargo, php.ini es bastante complejo de editar a través de la terminal, pero podemos evitarlo aprovechando el hecho de que PHP soporta el uso de archivos de configuración personalizados.

La única advertencia es que éstos deben estar ubicados en un directorio específico que podemos determinar ingresando:

php -i | grep 'additional .ini files'
Encuentre la carpeta de configuración personalizada de PHP
Encuentre la carpeta de configuración personalizada de PHP

Ahora tenemos toda la información para crear nuestro archivo de configuración personalizado y añadirlo a la ubicación correcta.

bash -c 'echo "zend_extension=/opt/cpanel/ea-php72/root/usr/lib64/php/modules/ioncube_loader_lin_7.2.so" > /opt/cpanel/ea-php72/root/etc/php.d/00-ioncube.ini'

Tenga en cuenta que nuestro archivo personalizado . ini ha sido prefijado con 00, lo que es una forma de cargarlo antes que otros archivos de configuración de PHP para asegurar que se ejecuta sin entrar en conflicto con otros archivos de configuración personalizados.

Configuración y Reinicio del Servidor

La extensión PHP del ionCube loader ahora debe ser instalada correctamente. Sin embargo, antes de que podamos usarlo, necesitamos hacer un poco de limpieza.

Después de la instalación es importante hacer lo siguiente:

  • Recargar el servidor
  • Reiniciar el motor PHP
  • Borrar la caché del sitio

El servidor se puede recargar a través de la línea de comandos, pero el comando exacto variará según las diferentes configuraciones del servidor. Ya que estamos ejecutando Nginx en nuestro servidor que usamos:

sudo /etc/init.d/nginx reload

PHP puede ser reiniciado directamente desde cPanel o dashboard. Usualmente tomará varios segundos reiniciar PHP y una notificación emergente será mostrada cuando se complete.

Lo último que debe hacer es vaciar la caché del sitio para asegurarse de que está viendo los cambios más recientes realizados en la configuración del servidor.

Una vez que estos pasos finales hayan sido completados, ionCube loader debe ser instalado y configurado correctamente en su servidor, listo para descifrar archivos codificados en PHP.

Verificación de la Instalación del ionCube Loader

Para verificar si el ionCube loader está instalado y configurado correctamente, hay un par de cosas que puede hacer.

En primer lugar, use php -i

Si el ionCube loader está instalado, los detalles aparecerán en la salida.

Sin embargo, esto produce una gran cantidad de datos en el terminal que usted tiene que recorrer manualmente para buscar referencias de ionCube. De hecho, la salida de php -i es típicamente más de 1000 líneas de texto.

Puede utilizar el comando del terminal php -i | wc -l para ver el número exacto de líneas emitidas.

Realmente no es viable buscar a través de la salida del terminal manualmente, así que podemos canalizar la salida desde php -i directamente al comando grep y sólo devolver la información que nos interesa.

Para ello, introduzca lo siguiente en una ventana de terminal (que todavía está conectada a su servidor web a través de SSH):

php -i | grep ioncube
Mostrar información de configuración de PHP
Mostrar información de configuración de PHP

Si ve referencias al ionCube loader, la instalación ha sido un éxito.

También puede acceder a la información sobre el ionCube loader a través del comando terminal php -v. Esto mostrará la versión específica del ionCube loader si está instalado.

Mostrar información de la versión de PHP
Mostrar información de la versión de PHP

Si no ve ninguna salida relacionada con ionCube a través de php -i o php -v, es posible que algo haya fallado en la instalación. En ese caso, puede intentar rehacer algunos (o todos) los pasos de instalación según sea necesario para ver si soluciona el problema.

Si el problema persiste, póngase en contacto con su anfitrión, quien podrá proporcionarle las acciones necesarias.

Otra forma recomendada sería crear una página phpinfo, cargarla y buscar «ioncube». De esta manera sabrá si el ionCube se ha instalado correctamente y en qué versión.

Prueba de la Instalación de ionCube

Además de verificar simplemente que el ionCube loader parece estar instalado, también vale la pena realizar una prueba en vivo para asegurarse de que la extensión funciona como se espera antes de utilizarla en los archivos de producción.

Hagámoslo ahora codificando un archivo PHP y comprobando si se ejecuta correctamente cuando se carga en el servidor. Una de las formas más simples de codificar código PHP es usar el codificador en línea.

Codificador ionCube en línea
Codificador ionCube en línea

Antes de subir archivos para ser codificados, deberá registrarse para obtener una cuenta gratuita de ionCube. Haga clic en el elemento del menú Inicio de sesión y siga las instrucciones en pantalla para crear una cuenta.

Una vez que haya iniciado sesión, tendrás acceso a la página de carga del codificador.

Subir un archivo PHP para ser codificado
Subir un archivo PHP para ser codificado

Normalmente hay una tarifa por codificar archivos PHP para el código de producción, pero es gratis para propósitos de prueba.

Los archivos de prueba codificados sólo se decodificarán activamente a través de la extensión PHP del decodificador ionCube durante un máximo de 8 horas, después de lo cual caducarán y no se decodificarán. Pero este es tiempo más que suficiente para probar que todo está funcionando como debería.

Cree un archivo PHP de prueba y cárguelo al codificador en línea. Asegúrese de que la casilla Probar codificación esté marcada.

El archivo cargado se coloca automáticamente en una cola para ser codificado. Si este proceso tiene éxito, después de unos segundos verá una página que muestra los resultados junto con un enlace de descarga para acceder al archivo codificado.

Archivos de ionCube cargados y codificados
Archivos de ionCube cargados y codificados

Cuando descargue el archivo, notará que se ha añadido con la marca de tiempo actual para diferenciarlo del archivo original.

Por ejemplo, nuestro nombre de archivo original ioncuber-loader-test.php fue codificado y luego puesto a disposición para su descarga como ioncuber-loader-test-encoded-190924-100632.php.

Puede incluir cualquier código PHP válido que desee en el archivo de prueba. Para nuestro archivo PHP de prueba, agregamos una función simple que devuelve un número para ser mostrado junto con un mensaje.


<?php

function mySecretFunction() {
  return '42';
}

echo "<h1>ionCube Loader Test Page</h1>";
echo "<p>Output of encoded function: " . mySecretFunction() . 
"</p>";

En comparación, después de que esto se ejecutó a través del codificador, el archivo descargado contenía lo siguiente:


<?php //0059b
// 10.2 72
// 
// IONCUBE ONLINE ENCODER EVALUATION
// THIS FILE IS LICENSED TO BE USED FOR ENCODER TESTING
// PURPOSES ONLY AND SHOULD NOT BE DISTRIBUTED
// 
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199);

?>
HR+cPrb0lpjMgGF/p2/rAXWaVsF5lgbOo0LYkBQu2sZ7cHDIXwoQ+LPTtnDTw0hOl5Yfp7CvmV5c
bV90201GkQl3Lr5trbc0XXBJxV+hFqwsyPhXemDwQ37Lf0HHckqLWF5yXiIoErSIQzS8RbI1n49R
e2kRxmrwA+P2WbIZabhhXUPGZcn91NmJyW4qKz3xynZh+nvarORpi8tXqwPA3QUY7QZtwABJQs3U
lLpo3+X9sowLMgzttHBNNcGOZ73HVSgZ9eUtTRCeaswT4geKbT2qa0LgL8vhtl7RuymBklX1Rm0Q
1Aete/XaFhX6YG+B66t6nXBisZ5+P1O3YomFuW+rhbMbT1w3lk+MY+Ri5SCnRuvMig8ZWkchG3wX
XMpoGoP2uWectVSOROY+vmaGD+WTFjEFyw1C93T5qU4If5Ql/AdXA7s+ISvH8D5rqKSheLfnBQ2d
yx5yu5FEMrJwLA9g2g3xf2OSV5X1+1DmkRVEvY0tcukjjYVCcvbDKSBQpigXvYiTHAouI5ANmYbR
pMURAoAO9gUSm3Bul7HZdaQRwH2Fyp3na3hWGiSTdp5EXEDMTKRWtiB5nPPQ3MmVO6F2Er62h3Ov
N0oR6uCDj/y11u3Re6BQ2laN2k9m9ylnsMYketpe+OOMaoA6+n1yVpYWkBra+vr+Veh9+oQkXQBP
ZG4bUtd+4UIWW057ZMkKS4+2S3dSDHjcU/Op9ZSp2VFpSOlaqssNgA9WMGP0b8xhbTOPx6FqgY09
/WnmQyto9goSeIfAcc1braP74ILD9DLwVRG1aXHIC6WGhPYzafs+gut8DHebHUzSPj3JYu9t6/w2
1Nnuc5Dso5SnAa8v2AabXUvZBpQrYTf8tY1L0zL8sqTIvTlv/tRCpsu4hrwFg7hqx+6OsXaWiLwY
xtfwBfCbGS1a/c2+OhUujEllco6gB1KoekhLv9xVj70cRWRgnf+nSCcCc2bFjk4+VtJh+07M9CRO
vqaTu78gagPGMVFYebH5AvOLOKn8Ao1A1lX+GdiD0mLr8BAQ2jrZx1i8wZ0ILNuKRFWvFnYK4Bjg
SYImW2oc6Mg/u50B/Y+mjAeIbpUfm+Ksetd5n2sFetQt831K3u891bKBPw8AzqtGzhLjihFhORCG
BIwx+aA8AvUMeR4Uuk/FdyxATCqly93/crGkCwUQWrvPY5hA9KvtmOFvYPUVpuFZKS5BPzUySat3
ChtDQpr7H7N9phQvoSZ7pTBOGoyfVDTn1abQVMYQXbrW+yee+wBnGiUpGpR3MgkUPHKX/N36+P8o
Ld5obAtVtNjgiQjcYwI6KkrNmH22sqHlILAnR7yUn0==

Esto es completamente irreconocible del código fuente original, así que el codificador ha hecho su trabajo!

La pregunta importante ahora es: ¿será capaz la extensión del decodificador ionCube instalada de analizar el archivo y decodificarlo para que pueda ser ejecutado como código PHP normal?

Para averiguarlo, subimos ambos archivos PHP al servidor y los vimos en el navegador. El primero es el archivo original que contiene el código PHP sin procesar.

Prueba de archivos PHP sin procesar
Prueba de archivos PHP sin procesar

La página se muestra como se esperaba. Ahora el archivo PHP codificado.

Prueba de archivos PHP codificados
Prueba de archivos PHP codificados

Esto muestra exactamente lo mismo, por lo que se verifica que la extensión del decodificador ionCube esté instalada y funcionando correctamente.

Compruebe los Registros de Errores por Problemas de Instalación

Una última cosa que puede hacer para verificar que la instalación ha sido exitosa es ver los registros de errores del servidor y buscar entradas recientes relacionadas con la instalación de ionCube.

Si ve algo similar a lo siguiente en el registro de errores, tendrá que ponerse en contacto con su anfitrión para que pueda investigarlo más a fondo:

PHP Fatal error: The file 
/www/sitename_xxx/public/wp-content/themes/theme-name/functions.php was encoded by the ionCube Encoder for PHP 5.6 and cannot run under PHP 7.1

Los pasos necesarios para acceder a los registros de errores variarán de un host a otro, por lo que es mejor comprobar primero si no está seguro de dónde se encuentran.

Los clientes de Kinsta pueden ver los registros de errores en su panel de control de MyKinsta.

Resumen

A estas alturas, esperamos que ya tenga la extensión PHP de ionCube Loader instalada y funcionando en su servidor. Tomemos un momento para recapitular lo que hicimos.

Aprendimos que el cargador ionCube es una extensión PHP con un propósito dedicado que es descifrar archivos PHP previamente encriptados sobre la marcha, cuando son solicitados por el servidor.

Para ello, el cargador debe instalarse correctamente mediante una serie de comandos de terminal cuando se conecta al servidor mediante una conexión SSH.

Una vez que establezca una conexión segura con su servidor, puede comenzar el proceso de instalación de la extensión del cargador ionCube, que puede dividirse en una serie de pasos:

  1. Descargue el archivo correcto del ionCube loader en una carpeta temporal de su servidor.
  2. Extraiga el archivo descargado. Seleccione el archivo apropiado del cargador . so ionCube de entre los numerosos archivos extraídos que coinciden con la versión instalada de PHP.
  3. Copie el archivo ionCube loader . so a la carpeta de extensiones PHP. Esta será una ubicación fija única para su instalación particular de PHP.
  4. Habilite el cargador ionCube en PHP editando el archivo principal php.ini o creando un archivo personalizado . ini. Añada una nueva extensión zend_extension que apunte a la ubicación del archivo del cargador de ionCube instalado.
  5. Para empezar a procesar archivos PHP cifrados, el servidor necesita ser recargado y el motor PHP reiniciado. El proceso exacto para hacer esto variará de un servidor a otro. A veces también es necesario vaciar la caché del sitio.
  6. Compruebe que la instalación de ionCube se ha realizado correctamente a través del terminal utilizando los comandos php -i y php -v.
  7. El paso final es hacer una prueba en vivo para asegurarse de que el cargador de ionCube funciona como se espera. Puede utilizar el codificador en línea para encriptar archivos PHP de forma gratuita, siempre y cuando sea sólo con fines de prueba.

Si algo sale mal durante el proceso de instalación, o simplemente para su tranquilidad, también puede comprobar los registros del servidor para detectar cualquier error que pueda haber ocurrido.

Ahora le toca a usted: ¿cuál es su experiencia con ionCube Loader? Háganoslo saber en los comentarios!

David Gwyer

David Gwyer is a WordPress developer at WPGoplugins, JavaScript programmer, and technical writer with 20+ years industry experience. His current development work is focused on creating engaging blocks for the exciting new WordPress Editor. Connect with David on Twitter