Image

지식 기반 → Debian 12에 PHP용 Ioncube 설치하기

[가상 서버]
출판 날짜: 16.10.2023

Ioncube는 코딩된 스크립트로 작업할 수 있는 PHP 모듈입니다. 이러한 스크립트는 일반적으로 유료 시스템 또는 모듈인 폐쇄형 코드입니다. 이러한 스크립트에서는 원칙적으로 라이센스 유효성 검사가 사용되며 누구도 이 인증 코드를 제거하지 않고 소스 코드 자체가 다른 사람에 의해 상업적 목적으로 사용되지 않도록 인코딩됩니다. 이 PHP 모듈은 디코딩을 수행하여 이러한 유형의 스크립트가 작동하도록 합니다.

각 PHP 버전마다 자체 버전의 모듈을 설치해야 합니다.

1. 최신 버전의 이온큐브를 다운로드하세요

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

php
php7.3
php8.1

우리의 경우 Ioncube를 구성할 서버에 2가지 버전이 설치되어 있습니다.

2.2 각 버전별로 PHP 모듈이 위치한 폴더를 정의합니다

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 다운로드한 아카이브에서 모듈을 복사해 보겠습니다

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 웹 서비스의 경우 이 예에서는 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

아파치를 사용하는 경우 동일한 줄을 추가하세요.

2.5 설정 저장 및 적용

구성 파일의 변경 사항을 저장하려면 다음 명령을 사용하십시오

:wq

웹 서비스를 다시 시작해보자

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

3. 시험

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

완료되었습니다. 이제 인코딩된 스크립트가 서버에서 올바르게 작동합니다.





No Comments Yet