Image

Base de conocimientos → Instalación de Ioncube para php en Debian 12

[Servidores virtuales]
Fecha de publicación: 16.10.2023

Ioncube es un módulo PHP que le permite trabajar con scripts codificados. Estos scripts son de código cerrado y, por regla general, son sistemas o módulos comerciales de pago. En estos scripts, por regla general, se utiliza una verificación de validez de la licencia y, para que nadie elimine este código de verificación y que otros no utilicen el código fuente con fines comerciales, se codifica. Este módulo PHP realiza la decodificación, lo que hace que este tipo de script funcione.

Para cada versión de PHP necesitas instalar su propia versión del módulo.

1. Descarga la última versión de Ioncube

x64

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

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

2. Instalación

2.1 Determinar la presencia de versiones de php en el servidor

ls /usr/bin/ | grep php

php
php7.3
php8.1

En nuestro caso, existen 2 versiones instaladas en el servidor para el cual configuraremos Ioncube.

2.2 Definir la carpeta donde se ubican los módulos php para cada versión

php 7.3

/usr/bin/php7.3 -i | grep extension_dir

extension_dir => /usr/lib/php/20180731 => /usr/lib/php/20180731
php 8.1

/usr/bin/php8.1 -i | grep extension_dir

extension_dir => /usr/lib/php/20210902 => /usr/lib/php/20210902

2.3 Copiar módulos del archivo descargado

tar -xvf ioncube_loaders_lin_x86-64.tar.gz -C /var/tmp/
cp /var/tmp/ioncube/ioncube_loader_lin_7.3.so /usr/lib/php/20180731
cp /var/tmp/ioncube/ioncube_loader_lin_7.3_ts.so /usr/lib/php/20180731
cp /var/tmp/ioncube/ioncube_loader_lin_8.1.so /usr/lib/php/20210902
cp /var/tmp/ioncube/ioncube_loader_lin_8.1_ts.so /usr/lib/php/20210902

2.4 Agregar módulos al archivo de configuración

2.4.1 Para ejecutar scripts desde la consola (para tareas cron)

vim /etc/php/7.3/cli/php.ini

[Zend]
zend_extension=/usr/lib/php/20180731/ioncube_loader_lin_7.3.so
zend_extension_ts = /usr/lib/php/20180731/ioncube_loader_lin_7.3_ts.so
vim /etc/php/8.1/cli/php.ini

[Zend]
zend_extension=/usr/lib/php/20210902/ioncube_loader_lin_8.1.so
zend_extension_ts = /usr/lib/php/20210902/ioncube_loader_lin_8.1_ts.so

2.4.2 Para el servicio web, en nuestro ejemplo usamos fpm

vim /etc/php/7.3/fpm/php.ini

[Zend]
zend_extension=/usr/lib/php/20180731/ioncube_loader_lin_7.3.so
zend_extension_ts = /usr/lib/php/20180731/ioncube_loader_lin_7.3_ts.so
vim /etc/php/8.1/fpm/php.ini

[Zend]
zend_extension=/usr/lib/php/20210902/ioncube_loader_lin_8.1.so
zend_extension_ts = /usr/lib/php/20210902/ioncube_loader_lin_8.1_ts.so

Si estás usando Apache, agrega las mismas líneas.

2.5 Guardar y aplicar la configuración

Para guardar cambios en los archivos de configuración, use el comando

:wq

Reiniciemos los servicios web.

service php7.3-fpm restart
service php8.1-fpm restart

3. Verificar

php 7.3

/usr/bin/php7.3 -v

PHP 7.3.33-14+0~20230902.114+debian12~1.gbp764b27 (cli) (built: Sep  2 2023 07:12:32) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.33, Copyright (c) 1998-2018 Zend Technologies
    with the ionCube PHP Loader + ionCube24 v13.0.2, Copyright (c) 2002-2023, by ionCube Ltd.
    with Zend OPcache v7.3.33-14+0~20230902.114+debian12~1.gbp764b27, Copyright (c) 1999-2018, by Zend Technologies
php 8.1

/usr/bin/php8.1 -v

PHP 8.1.23 (cli) (built: Oct  6 2023 10:18:33) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.23, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.23, Copyright (c), by Zend Technologies

Listo, ahora los scripts codificados funcionarán correctamente en su servidor.





Sin comentarios aún