ionCube Loaders

توسط

ionCube Loader چیست؟

ionCube قدیمی‌ترین و رایج‌ترین لودر برای اجرای فایل‌های PHP رمزگذاری شده است. این لودر برای اجرای اسکریپت‌های معروفی مانند WHMCS، برخی نسخه‌های ووکامرس و بسیاری از افزونه‌های وردپرس ضروری است.

چه زمانی به این لودر نیاز دارید؟

زمانی که خطاهای زیر را مشاهده می‌کنید:

  • The ionCube PHP Loader needs to be installed

  • requires the ionCube PHP Loader

  • Site error: the ionCube PHP Loader needs to be installed

مزایای استفاده از ionCube:

  • حفاظت از کد: از کدهای PHP در برابر دسترسی غیرمجاز و کپی‌برداری محافظت می‌کند

  • افزایش امنیت: با رمزنگاری کدها، امنیت بیشتری برای برنامه‌های تحت وب فراهم می‌شود

  • کنترل دسترسی: با استفاده از مجوزها و لایسنس‌های ionCube، می‌توان دسترسی به کدها را کنترل کرد

نکته فنی: ionCube به عنوان یک Zend Extension نصب می‌شود، بنابراین در فایل php.ini باید از دستور zend_extension= استفاده کنید.

روش اول: نصب در سی پنل (cPanel/WHM)

روش آسان - از طریق WHM:

  1. وارد WHM شوید

  2. به بخش Software > MultiPHP Manager بروید

  3. نسخه PHP مورد نظر خود را انتخاب کنید

  4. در بخش PHP Extensions، تیک ionCube Loader را فعال کنید

روش دستی - از طریق SSH:

  1. لودرها را دانلود کنید:

bash
cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar -xzf ioncube_loaders_lin_x86-64.tar.gz
  1. فایل مناسب را کپی کنید (مثال برای PHP 8.3):

bash
cp /tmp/ioncube/ioncube_loader_lin_8.3.so /opt/cpanel/ea-php83/root/usr/lib64/php/modules/
  1. فایل INI را ایجاد کنید (ionCube باید قبل از سایر افزونه‌ها بارگذاری شود):

bash
echo "zend_extension=ioncube_loader_lin_8.3.so" > /opt/cpanel/ea-php83/root/etc/php.d/00-ioncube.ini
  1. PHP-FPM را ریستارت کنید:

bash
systemctl restart ea-php83-php-fpm

روش دوم: نصب در XAMPP (محلی - ویندوز)

این روش برای توسعه‌دهندگانی که روی سیستم شخصی خود کار می‌کنند بسیار مفید است:

  1. دانلود ionCube Loader:

  2. استخراج فایل‌ها:

    • فایل دانلود شده را با نرم‌افزارهایی مانند WinRAR یا 7-Zip استخراج کنید

  3. کپی فایل لودر:

    • فایل مناسب نسخه PHP خود را به پوشه C:\xampp\php\ext کپی کنید

    • مثال برای PHP 7.4: ioncube_loader_win_7.4.dll

  4. ویرایش php.ini:

    • فایل C:\xampp\php\php.ini را با Notepad باز کنید

    • خط زیر را به ابتدای فایل اضافه کنید:

    ini
    zend_extension = "C:\xampp\php\ext\ioncube_loader_win_7.4.dll"
  5. ریستارت XAMPP:

    • کنترل پنل XAMPP را باز کنید

    • سرویس Apache را متوقف و سپس دوباره شروع کنید

روش سوم: نصب در دایرکت ادمین

  1. دانلود لودرها:

bash
cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar xvfz ioncube_loaders_lin_x86-64.tar.gz
  1. پیدا کردن مسیر extension_dir:

bash
php -i | grep extension_dir
  1. کپی فایل مناسب (مثال برای PHP 7.4):

bash
cp /tmp/ioncube/ioncube_loader_lin_7.4.so /usr/local/lib/php/extensions/no-debug-non-zts-20190902/
  1. ویرایش فایل php.ini و اضافه کردن خط:

ini
zend_extension = "/usr/local/lib/php/extensions/no-debug-non-zts-20190902/ioncube_loader_lin_7.4.so"
  1. ریستارت وب سرور:

bash
sudo systemctl restart httpd   # برای Apache
# یا
sudo systemctl restart nginx    # برای Nginx

روش چهارم: استفاده از ابزار خودکار (لینوکس)

اگر به دنبال ساده‌ترین روش هستید، از اسکریپت خودکار زیر استفاده کنید:

bash
git clone https://github.com/BaseMax/php-installer-ioncube-sourceguardian.git
cd php-installer-ioncube-sourceguardian
php install_loaders.php

این اسکریپت به طور خودکار:

  • نسخه PHP شما را تشخیص می‌دهد

  • لودر مناسب را دانلود می‌کند

  • فایل‌ها را در مسیر درست نصب می‌کند

  • فایل تنظیمات را ایجاد می‌کند


✅ نحوه بررسی نصب ionCube

روش اول - از طریق مرورگر:
فایل info.php را با محتوای زیر ایجاد کنید:

php
<?php phpinfo(); ?>

در خروجی باید بخش ionCube PHP Loader را مشاهده کنید.

روش دوم - از طریق خط فرمان:

bash
php -v

خروجی باید شامل with the ionCube PHP Loader vXX باشد.

روش سوم - استفاده از loader-wizard:
فایل loader-wizard.php را از بسته دانلودی ionCube در روت سایت خود کپی کرده و در مرورگر باز کنید. این ابزار به صورت خودکار نصب را بررسی می‌کند.

سوالات متداول

سوال 1: تفاوت بین فایل‌های TS و NTS در ionCube چیست؟

پاسخ:

  • TS (Thread Safe): اگر سرور شما از mod_php (Apache) استفاده می‌کند یا PHP با گزینه ZTS کامپایل شده، از لودرهای دارای پسوند _ts استفاده کنید

  • NTS (Non-Thread Safe): اگر از PHP-FPM یا CGI استفاده می‌کنید، به لودر NTS نیاز دارید

سوال 2: خطای Cannot load ionCube Loader - incompatible module API را دریافت می‌کنم. چکار کنم؟

پاسخ: این خطا یعنی فایل لودر برای نسخه PHP متفاوتی کامپایل شده است. حتماً نسخه فایل لودر با نسخه PHP شما مطابقت داشته باشد.

سوال 3: آیا می‌توانم هر دو لودر SourceGuardian و ionCube را همزمان داشته باشم؟

پاسخ: بله، نه تنها امکان‌پذیر است، بلکه بسیار رایج است. شما می‌توانید هر دو خط را در فایل php.ini داشته باشید. ترتیب قرارگیری آنها معمولاً مشکلی ایجاد نمی‌کند.

سوال 4: چگونه بفهمم کدام نسخه ionCube را نصب کنم؟

پاسخ: ابتدا نسخه PHP خود را بررسی کنید:

bash
php -v

سپس به سایت ionCube بروید و فایل متناسب با نسخه PHP و سیستم عامل خود را دانلود کنید.

سوال 5: آیا ionCube روی همه هاست‌ها وجود دارد؟

پاسخ: اکثر هاست‌های حرفه‌ای این لودر را نصب کرده‌اند. اگر در هاست اشتراکی هستید و این لودر فعال نیست، می‌توانید از طریق کنترل پنل (مثل Select PHP Version در سی پنل) آن را فعال کنید یا با پشتیبانی تماس بگیرید.

سوال 6: بعد از آپدیت PHP، لودرها از بین می‌روند. چرا؟

پاسخ: پس از آپدیت PHP، باید لودرهای متناسب با نسخه جدید را نصب کنید. هر نسخه PHP به لودر مخصوص خود نیاز دارد.

سوال 7: خطای zend_extension_ts is removed در PHP 5.3 و بالاتر یعنی چه؟

پاسخ: در PHP 5.3 و نسخه‌های بالاتر، دستور zend_extension_ts حذف شده است. باید از zend_extension استفاده کنید.

0 0 رای ها
امتیازدهی
اشتراک در
اطلاع از
0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
هیچ نسخه‌ای برای این آیتم موجود نیست.

قیمت:

رایگان

نگارش

آخرین انتشار

11 اردیبهشت 1405

آخرین بروزرسانی

1 ماه پیش

نسخه ها

0 نسخه