برای فعالسازی ionCube در خانواده RHEL، ابتدا مشخص کنید PHP توسط بستههای سیستم، مخزن دیگری یا کنترلپنل مدیریت میشود. Loader باید با همان PHP و معماری سازگار باشد. مسیرهای Ubuntu را روی این سیستمها کپی نکنید؛ فایل ini و سرویس فعال را از محیط واقعی پیدا کنید.
CentOS Linux 7 و 8 پایانعمر یافتهاند. اگر سایت شما روی این نسخههاست، نصب Loader مشکل پشتیبانی سیستمعامل را رفع نمیکند و برنامه مهاجرت لازم است. مراحل زیر برای تشخیص و پیکربندی روی یک پشته تحت پشتیبانی مانند AlmaLinux یا Rocky نیز کاربرد دارد.
Loader چه چیزی را فعال میکند؟
ionCube Loader فایل PHP محافظتشده توسط Encoder را اجرا میکند. این ابزار رمزگشایی قابل ویرایش کد یا افزایش تضمینی سرعت سایت نیست. مجوز نرمافزار، نسخه PHP مورد قبول فروشنده و نسخه Loader باید با هم تطبیق داده شوند.
۱. PHP متعلق به کدام پشته است؟
command -v php
php -v
php --ini
uname -m
systemctl list-units --type=service '*php*fpm*'
در PHP سیستم، مسیرهایی مانند /etc/php.ini و /etc/php.d رایجاند، اما پشته Remi، cPanel یا DirectAdmin ممکن است مسیر متفاوتی داشته باشد. خروجی خط فرمان کافی نیست؛ نسخه وب دامنه و binary مورد استفاده cron را نیز ثبت کنید.
۲. در سرور دارای کنترلپنل
از ابزار مدیریت نسخه و extension همان پنل استفاده کنید. نسخههای چندگانه PHP در یک حساب میتوانند Loader مستقل بخواهند. اگر دسترسی مدیریتی لازم ندارید، درخواست را با نسخه PHP دامنه، نام برنامه و متن دقیق خطا برای میزبان ارسال کنید؛ دستکاری فایلهای تولیدشده پنل راه پایداری نیست.
۳. در پشته مستقل PHP-FPM
بسته Linux مناسب معماری را از صفحه رسمی ionCube دریافت کنید. Loader Wizard نام فایل و ترتیب بارگذاری را برای محیط مشخص میکند. فایل انتخابشده را در مسیر سیستمی تحت مدیریت root قرار دهید و یک فایل ini در مسیر scan شده همان PHP ایجاد کنید. الگو:
zend_extension=/usr/local/lib/ioncube/LOADER_MATCHING_YOUR_PHP.so
عبارت نمونه باید با نام واقعی فایل جایگزین شود. از extension= به جای zend_extension استفاده نکنید. پیش از تغییر، فایل ini را بکاپ و بعد از تغییر، آزمون تنظیمات FPM همان پشته را اجرا کنید.
۴. SELinux و دسترسی فایل
اگر Loader با وجود مسیر درست باز نمیشود، مجوز خواندن و پیامهای AVC در audit log را بررسی کنید. فایل را در پوشه نامتعارف بدون برچسب مناسب قرار ندهید و برای رفع خطا SELinux را خاموش نکنید. مسیر مورد تأیید پشته یا سیاست دقیق فایل باید توسط مدیر سرور اعمال شود.
۵. تأیید در دو محیط
php -v
php -r 'echo extension_loaded("ionCube Loader") ? "loaded" : "not loaded";'
وب نیز باید Loader را در گزارش دامنه نشان دهد. اگر CLI درست است و سایت نه، احتمالاً ini یا نسخه FPM متفاوت است. نرمافزار واقعی و کار زمانبندیشده آن را آزمایش و فایل Wizard عمومی را بعد از کار حذف کنید.
رفع خطا
- فایل برای PHP دیگر encode شده: نسخه سازگار محصول را از سازنده بگیرید؛ تغییر تصادفی PHP ممکن است وابستگی دیگر را خراب کند.
- Unable to load: معماری، نام فایل، کتابخانه لازم و مسیر مطلق را بررسی کنید.
- خطای لایسنس: دامنه، IP یا کلید مجوز محصول را طبق مستندات فروشنده کنترل کنید؛ این خطا الزاماً نصب Loader نیست.
بازگشت و نگهداری
اگر FPM پس از تغییر شروع نمیشود، فایل ini جدید را از مسیر فعال خارج، تست تنظیمات را تکرار و سرویس مرتبط را بارگذاری کنید. نسخه Loader و علت تغییر را ثبت کنید. هنگام ارتقای PHP، سازگاری Loader و محصول تجاری باید دوباره آزموده شود.
منابع رسمی
بازبینی منابع: ۱۸ اکتبر ۲۰۲۶.