Ioncubeは、暗号化されたスクリプトを実行するためのPHPモジュールです。これらのスクリプトは商用システムや有料モジュールなどの非公開コードであり、一般的にはライセンスの有効性を確認するチェックが組み込まれています。コードのチェック部分を除去したり、商業目的での再利用を防ぐため、スクリプトは暗号化されています。このPHPモジュールは、その暗号を解読し、スクリプトを動作させる役割を果たします。
各PHPバージョンには対応するモジュールをインストールする必要があります。
1. 最新版の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. インストール
2.1 サーバー上のPHPバージョンを確認
ls /usr/bin/ | grep php
この例では、2つのバージョンがインストールされているため、それぞれにIoncubeを設定します。
2.2 各バージョンのPHPモジュールディレクトリを確認
php 7.3
/usr/bin/php7.3 -i | grep extension_dir
php 8.1
/usr/bin/php8.1 -i | grep extension_dir
2.3 ダウンロードしたアーカイブからモジュールをコピー
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 モジュールを設定ファイルに追加
2.4.1 コンソールでのスクリプト実行用(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 Webサービス用、ここでは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
Apacheを使用している場合も、同様に設定を追加します。
2.5 設定の保存と反映
設定ファイルに変更を保存するには、以下のコマンドを使用します。
:wq
Webサービスを再起動します。
service php7.3-fpm restart
service php8.1-fpm restart
3. 確認
php 7.3
/usr/bin/php7.3 -v
php 8.1
/usr/bin/php8.1 -v
これで、暗号化されたスクリプトがサーバーで正常に動作します。
No Comments Yet