Image

Base de connaissances → Installer Ioncube pour php sur Debian 12

[Serveurs virtuels]
Date de publication: 16.10.2023

Ioncube est un module PHP qui permet de travailler avec des scripts codés. Ces scripts sont du code fermé, en règle générale, il s'agit de systèmes commerciaux ou de modules payants. Dans ces scripts, en règle générale, une vérification de la validité de la licence est utilisée, et pour que personne ne supprime ce code de vérification et que le code source lui-même ne soit pas utilisé à des fins commerciales par d'autres, il est codé. Ce module PHP effectue le décodage, ce qui fait fonctionner ce type de script.

Pour chaque version de PHP, vous devez installer sa propre version du module.

1. Téléchargez la dernière version d'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. Installation

2.1 Déterminer la présence de versions php sur le serveur

ls /usr/bin/ | grep php

php
php7.3
php8.1

Dans notre cas, il y a 2 versions installées sur le serveur pour lesquelles nous allons configurer Ioncube.

2.2 Définir le dossier où se trouvent les modules php pour chaque version

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 Copier les modules de l'archive téléchargée

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 Ajouter des modules au fichier de configuration

2.4.1 Pour exécuter des scripts depuis la console (pour les tâches 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 Pour le service web, dans notre exemple nous utilisons 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 vous utilisez Apache, ajoutez les mêmes lignes.

2.5 Enregistrez et appliquez les paramètres

Pour enregistrer les modifications apportées aux fichiers de configuration, utilisez la commande

:wq

Redémarrons les services Web

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

3. Vérifiez

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

C'est fait, les scripts encodés fonctionneront désormais correctement sur votre serveur.





Aucun commentaire pour l'instant