Introduzione
L'uso di file PHP codificati e protetti di ionCube richiede che un file chiamato ionCube Loader sia installato sul server Web e reso disponibile per PHP. PHP può utilizzare il Loader con una riga aggiunta a un file di configurazione PHP (php.ini). Questo articolo spiegherà in dettaglio la procedura per installare ioncube loader in CentOS, Ubuntu e Debian.
Fase 1:scarica ioncube loader
Il primo passo per installare il caricatore ioncube è ovviamente scaricare i file di installazione dal sito web di inocube. Ma prima di farlo, controlla se il tuo sistema è in esecuzione su architettura a 32 bit o 64 bit, perché il file di download per ciascuna architettura è diverso. Puoi verificarlo eseguendo il seguente comando nel tuo terminale,
# uname -a
Risultato di esempio:
Linux E2E-Networks 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
In questo output è chiaramente menzionato poiché il sistema funziona su un'architettura a 64 bit.
Quindi, in base al tuo tipo di architettura, scarica i file richiesti in /tmp directory nel tuo sistema.
Per il sistema a 64 bit:
# cd /tmp # wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Quindi decomprimi i file scaricati usando il comando tar
# tar xfz ioncube_loaders_lin_x86-64.tar.gz
Per il sistema a 32 bit:
# cd /tmp # wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz # tar xfz ioncube_loaders_lin_x86.tar.gz
Per impostazione predefinita, i file verranno decompressi in una cartella "ioncube"
Fase 2:seleziona il caricatore ioncube giusto da installare
Ci saranno vari file ioncube loader decompressi nella cartella ioncube corrispondente a varie versioni php. È necessario selezionare il file ioncube loader corretto in base alla versione php installata sul server. Per conoscere la versione di php installata sul tuo server, esegui il comando,
# php -v
Esempio di output:
PHP 7.0.13-0ubuntu0.16.04.1 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.13-0ubuntu0.16.04.1, Copyright (c) 1999-2016, by Zend Technologies
Nel nostro caso, la versione php installata è PHP 7.0.13 che può variare da server a server. Controlla la tua versione, quindi esegui il comando ls /tmp/ioncube per controllare tutti i file di caricamento ioncube disponibili.
# ls /tmp/ioncube
Risultato:
ioncube_loader_lin_4.1.so ioncube_loader_lin_5.4.so ioncube_loader_lin_4.2.so ioncube_loader_lin_5.4_ts.so ioncube_loader_lin_4.3.so ioncube_loader_lin_5.5.so ioncube_loader_lin_4.3_ts.so ioncube_loader_lin_5.5_ts.so ioncube_loader_lin_4.4.so ioncube_loader_lin_5.6.so ioncube_loader_lin_4.4_ts.so ioncube_loader_lin_5.6_ts.so ioncube_loader_lin_5.0.so ioncube_loader_lin_7.0.so ioncube_loader_lin_5.0_ts.so ioncube_loader_lin_7.0_ts.so ioncube_loader_lin_5.1.so LICENSE.txt ioncube_loader_lin_5.1_ts.so loader-wizard.php ioncube_loader_lin_5.2.so README.txt ioncube_loader_lin_5.2_ts.so USER-GUIDE.pdf ioncube_loader_lin_5.3.so USER-GUIDE.txt ioncube_loader_lin_5.3_ts.so
Questi sono i file che sono stati decompressi dal file zip scaricato. Ora dobbiamo trovare la directory dell'estensione per la versione PHP in esecuzione nel nostro server. Per fare ciò, esegui il seguente comando,
# php -i | grep extension_dir
Risultato:
extension_dir => /usr/lib/php/20151012 => /usr/lib/php/20151012
La directory dell'estensione su questo server è contrassegnata in rosso nel risultato precedente, che può variare da server a server. Quindi dobbiamo copiare ioncube loader per la nostra versione PHP 7.0 nella directory dell'estensione.
# sudo cp /tmp/ioncube/ioncube_loader_lin_7.0.so /usr/lib/php/20151012/
Sostituisci la versione PHP e la directory dell'estensione nella riga di comando sopra in base alla configurazione del tuo sistema.
Fase 3:Configura PHP per ioncube loader
Fino a questo punto il processo per CentOS, Debian e Ubuntu era lo stesso. Ma questo passaggio di configurazione è diverso per CentOS e Ubuntu/Debian. Dobbiamo aggiungere la seguente riga nella parte superiore dei file php.ini delle rispettive distribuzioni Linux.
zend_extension = /usr/lib/php/20151012/ioncube_loader_lin_7.0.so
Ancora una volta, assicurati di sostituire il percorso sopra menzionato secondo la directory dell'estensione e la versione php.
Per CentOS:
Poiché centos ha un solo file php.ini, aggiungeremo la riga data usando l'editor vim,
# vim /etc/php.ini
E poi aggiungi la riga sottostante nella parte superiore del file php.ini
zend_extension = /usr/lib/php/20151012/ioncube_loader_lin_7.0.so
Quindi salva ed esci dal file. Ora è necessario riavviare il server web apache per rendere effettiva la configurazione di ioncube.
# service httpd restart # service php-fpm restart
Per Ubuntu/Debian:
In Ubuntu/Debian, ci sono file php.ini separati per la modalità PHP CLI, CGI, Apache2 e FPM. Il percorso dei file può variare per le diverse versioni di PHP. In caso di PHP 7.0 il percorso è il seguente.
/etc/php/7.0/cli/php.ini
/etc/php/7.0/apache2/php.ini
/etc/php/7.0/fpm/php.ini
/etc/php/7.0/cgi/php.ini
Devi aggiungere la riga data nel file php.ini del modulo PHP che usi. Puoi saltare uno qualsiasi dei moduli php sopra che non usi.
Inserisci il rispettivo file php.ini in modalità di modifica e aggiungi la riga menzionata in cima al file.
zend_extension = /usr/lib/php/20151012/ioncube_loader_lin_7.0.so
Salva ed esci dal file php.ini e riavvia il server web apache per rendere effettive le modifiche.
# service apache2 restart # service php-fpm restart
Fase 4:prova il caricatore ioncube
Puoi verificare l'installazione del caricatore ioncube controllando la versione php.
# php -v
Risultato:
PHP 7.0.13-0ubuntu0.16.04.1 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v6.0.9, Copyright (c) 2002-2016, by ionCube Ltd. with Zend OPcache v7.0.13-0ubuntu0.16.04.1, Copyright (c) 1999-2016, by Zend Technologies
L'output verifica che il PHP sia ora caricato con ioncube loader.