Ioncube, kodlanmış PHP scriptleri ile çalışmayı sağlayan bir PHP modülüdür. Bu scriptlerin kaynak kodu kapalı olup, genellikle ticari sistemler veya ücretli modüllerdir. Bu scriptlerde genellikle lisans geçerliliği kontrolü bulunur ve bu kontrol kodunun kaldırılmaması veya kaynak kodun ticari amaçlarla kullanılmaması için kodlanırlar. Bu PHP modülü, kodu çözerek bu tip scriptlerin çalışmasını sağlar.
Her PHP sürümü için kendi modül sürümünü kurmak gereklidir.
1. Ioncube’un En Son Sürümünü İndirelim
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. Kurulum
2.1 Sunucudaki PHP Sürümlerini Belirleyelim
ls /usr/bin/ | grep php
Bizim durumumuzda sunucuda iki PHP sürümü kurulu ve bunlar için Ioncube'u yapılandıracağız.
2.2 Her Sürüm İçin PHP Modül Klasörünü Belirleyelim
php 7.3
/usr/bin/php7.3 -i | grep extension_dir
php 8.1
/usr/bin/php8.1 -i | grep extension_dir
2.3 İndirilen Arşivden Modülleri Kopyalayalım
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 Modülleri Konfigürasyon Dosyasına Ekleyelim
2.4.1 Konsoldan Çalıştırılacak Scriptler İçin (cron görevleri)
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 Web Servisi İçin, Bizim Örneğimizde fpm Kullanıyoruz
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
Eğer Apache kullanıyorsanız, benzer şekilde eklemeler yapınız.
2.5 Ayarları Kaydedip Uygulayalım
Konfigürasyon dosyalarındaki değişiklikleri kaydetmek için aşağıdaki komutu kullanın
:wq
Web servislerini yeniden başlatalım
service php7.3-fpm restart
service php8.1-fpm restart
3. Kontrol
php 7.3
/usr/bin/php7.3 -v
php 8.1
/usr/bin/php8.1 -v
Hazır! Artık kodlanmış scriptler sunucunuzda sorunsuz çalışacaktır.