Image

Bilgi Veritabanı → Debian 12 Üzerinde PHP için Ioncube Kurulumu

[Virtual sunucular]
Yayın tarihi: 16.10.2023

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

php
php7.3
php8.1

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

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 İ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 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

Hazır! Artık kodlanmış scriptler sunucunuzda sorunsuz çalışacaktır.





No Comments Yet