حل خطای The ionCube PHP Loader Needs to be Installed
- امنیت وردپرس
- بروزرسانی شده در
اگه موقع نصب یه قالب یا افزونه تو وردپرس با پیغام «The ionCube PHP Loader Needs to be Installed» مواجه شدی، نترس! این ارور یکی از اون خطاهای معمولیه که خیلی از کاربرای وردپرس تجربهش کردن. معمولاً وقتی میخوای یه قالب حرفهای یا پلاگین خاص نصب کنی، یهو با این خطا روبهرو میشی و نصب متوقف میشه.
در واقع، این ارور مربوط به یه بخش از PHP به اسم ionCube هست که بعضی از توسعهدهندهها برای محافظت از کدهاشون ازش استفاده میکنن. وقتی سرور یا هاست تو اون ابزار رو نداشته باشه، فایلها درست اجرا نمیشن و همین باعث ظاهر شدن این خطا میشه.
اما جای نگرانی نیست، چون رفعش خیلی راحتتر از چیزیه که به نظر میاد. توی این مقاله قراره قدمبهقدم با هم ببینیم چطور میشه این خطا رو برطرف کرد تا بدون هیچ دردسری قالب یا افزونهات نصب بشه و سایتت دوباره بالا بیاد.
آنچه در این مقاله میخوانید
چرا خطای ionCube PHP Loader پیش میآید و اصلاً داستانش چیه؟
ببین، این خطا معمولاً زمانی خودش رو نشون میده که یه قالب یا افزونهای خریدی که کدهاش رمزگذاری شدهان. یعنی چی؟ یعنی سازنده اون محصول (یا حتی کسی که داره نسخه کپیشدهش رو میفروشه) نمیخواد کسی بتونه کدهاش رو تغییر بده یا سیستم لایسنسش رو دور بزنه. برای همین از ابزارهایی مثل ionCube Loader یا SourceGuardian استفاده میکنن تا کدهای PHP رو قفل کنن.
حالا وقتی شما همچین محصولی رو نصب میکنی، وردپرس سعی میکنه اون کدهای رمزگذاریشده رو اجرا کنه، اما چون سرورت ابزار لازم یعنی همون ionCube PHP Loader رو نداره، با خطا مواجه میشی. پس مشکل از قالب یا افزونه نیست، بلکه از نبود اون ماژول روی سرورته.
البته یه نکته مهم این وسط هست: ما معمولاً توصیه نمیکنیم از قالبها یا پلاگینهایی استفاده کنی که کدگذاری شدن. چون اگه یه زمانی بخوای توی کدهاشون تغییر بدی، یا لایسنس رو تمدید نکنی، دستت بسته میمونه. ما خودمون مثلاً روی محصولاتمون این محدودیتها رو نمیذاریم، چون معتقدیم کاربری که یهبار پول داده حق داره هر وقت خواست از اون محصول استفاده کنه، حتی بدون تمدید لایسنس.
اما خب گاهی پیش میاد که یه قالب یا پلاگین واقعاً خوبه و نمیخوای ازش بگذری، حتی اگه قفلگذاری شده باشه. در این حالت باید بتونی ionCube Loader رو نصب کنی تا خطا برطرف بشه. البته باید بدونی این ماژول ممکنه یهذره سرعت سایت رو پایین بیاره، چون هر بار که سایت لود میشه، باید کدهای رمزگذاریشده رو باز کنه.
در هر صورت، اگه مصمم هستی از اون قالب یا افزونه استفاده کنی، نگران نباش. در ادامه قدمبهقدم بهت میگم چطور میتونی این خطا رو برطرف کنی و ionCube PHP Loader رو روی هاستت فعال کنی تا سایتت بدون دردسر بالا بیاد.
درخواست نصب ionCube Loader از پشتیبانی هاست
اولین و سادهترین راه برای رفع خطای The ionCube PHP Loader Needs to be Installed اینه که اصلاً خودت دست به کار نشی و از پشتیبانی هاست کمک بگیری. کافیه یه تیکت به بخش پشتیبانی شرکت هاستینگت ارسال کنی و بهشون بگی: «سلام، لطفاً افزونه یا ماژول ionCube Loader رو روی هاست من نصب کنید.»
تقریباً همه شرکتهای هاستینگ معتبر با این درخواست آشنا هستن و معمولاً خیلی سریع برات انجامش میدن. اگه پشتیبانی هاستت پاسخ مثبت بده، خودشون ionCube رو روی سرور نصب میکنن و مشکل درجا برطرف میشه، بدون اینکه نیاز باشه کاری انجام بدی یا تنظیم خاصی بکنی.
اما اگه پشتیبانی گفت که امکان نصب ionCube Loader روی سرورشون وجود نداره، دو تا انتخاب داری: یا هاستت رو عوض کنی و بری سراغ یه شرکت معتبرتر که از این ماژول پشتیبانی میکنه، یا اینکه قالبت یا افزونهای که با ionCube رمزگذاری شده رو کنار بذاری و از یه محصول مشابه بدون قفل استفاده کنی.
در کل، این روش هم امنتره و هم سریعتر، چون پشتیبانها دقیق میدونن باید چیکار کنن و احتمال بروز خطا هم خیلی کمتره. پس پیشنهاد میکنم اول از همه این مسیر رو امتحان کنی، شاید مشکل بدون هیچ دردسری توی چند دقیقه حل شد.
نصب دستی ionCube Loader روی سرور اختصاصی یا مجازی
اگه سرورت اختصاصی یا مجازیه و خودت بهش دسترسی داری، کار خیلی راحتتره چون دیگه لازم نیست منتظر پشتیبانی هاست بمونی. فقط کافیه وارد ترمینال (SSH) سرورت بشی و چند تا دستور ساده رو اجرا کنی تا ماژول ionCube Loader نصب بشه و خطا برطرف شه.
اول از همه باید بدونی سرورت از چه نسخهای از PHP استفاده میکنه. برای این کار توی ترمینال دستور php -v رو بزن تا نسخه دقیق PHP رو ببینی. این خیلی مهمه چون باید دقیقاً همون نسخه از ionCube Loader رو دانلود کنی، وگرنه موقع نصب به مشکل میخوری.
حالا برو سراغ گوگل و سرچ کن install ionCube Loader PHP. سایتهای مختلفی برات میاد که آموزش و دستور نصب دارن. مهم نیست کدومشون رو باز میکنی، چون تقریباً همه یه سری دستور مشابه دارن. ما با اون دستورها کار داریم، نه با توضیحات اضافی.
معمولاً باید فایل نصب ionCube رو از سایت رسمیش دانلود کنی، بعدش فایل فشرده رو با دستور tar باز کنی و اون نسخهای از فایل Loader رو که مخصوص PHP سرور توئه پیدا کنی. بعدش مسیر اون فایل رو توی تنظیمات PHP اضافه میکنی. معمولاً باید توی فایل php.ini این خط رو اضافه کنی: zend_extension=/path/to/ioncube_loader_lin_X_X.so
که به جای X_X باید نسخه PHP خودت رو بذاری.
وقتی این کارو کردی، فقط کافیه سرویس PHP یا وبسرورت رو ریستارت کنی تا تغییرات اعمال بشه. برای مثال اگه از Apache استفاده میکنی، دستور systemctl restart apache2 رو بزن یا اگه با PHP-FPM کار میکنی، دستور systemctl restart php8.2-fpm رو اجرا کن.
بعد از این مرحله، با زدن php -v یا ساختن یه فایل سادهی phpinfo() میتونی چک کنی که ionCube درست نصب شده یا نه. اگه اسمش توی خروجی دیده شد، یعنی کار تمومه و خطا باید از روی سایتت حذف شده باشه.
البته یه نکته هم بگم، ionCube Loader چون موقع لود شدن سایت باید کدهای رمزگذاریشده رو باز کنه، یه کوچولو روی سرعت سایت تأثیر میذاره. ولی معمولاً اونقدر نیست که حسش کنی، مخصوصاً اگه سرور قوی داشته باشی. در کل اگه خودت مدیر سروری و بلدی با SSH کار کنی، این روش سریعترین و مطمئنترین راه برای رفع این خطاست.
نصب ionCube Loader با دستورات ترمینال (برای مدیران سرور)
حالا اگه خودت مدیر سرور هستی و دسترسی SSH داری، میتونی بهصورت دستی ionCube Loader رو نصب کنی. کار سختی نیست، فقط باید قدمبهقدم جلو بری و دستورها رو دقیق اجرا کنی.
اول از همه، ترمینال سرورت رو باز کن و با دستور cd /tmp وارد پوشه موقت بشو. بعد با دستور mkdir ioncube یه پوشه جدید برای فایلهای نصب بساز تا همهچی منظم باشه. حالا با cd ioncube وارد اون پوشه شو. اینجوری هر فایلی که دانلود میکنی توی یه مسیر مشخص قرار میگیره و بعداً هم راحتتر میتونی پیداش کنی.
قدم بعدی، دانلود فایل نصبی ionCube Loader هست. برای این کار باید از دستور wget استفاده کنی. مثلاً:
sudo wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
اگه سرورت تو ایران باشه و فایل دانلود نشد، میتونی از ابزارهایی مثل شکن یا پروکسی استفاده کنی تا لینک باز بشه. بعد از اینکه فایل دانلود شد، باید با دستور زیر اون رو از حالت فشرده خارج کنی:
sudo tar xzf ioncube_loaders_lin_x86-64.tar.gz -C /usr/local
با این کار، همه فایلهای loader به مسیر /usr/local/ioncube منتقل میشن. بعد از اون هم فایل فشردهی دانلودشده رو پاک کن تا فضای اضافی اشغال نشه:
sudo rm -rf ioncube_loaders_lin_x86-64.tar.gz
حالا باید loader رو به PHP معرفی کنیم. برای این کار، فایل php.ini رو باز کن (معمولاً مسیرش بسته به نسخه PHP فرق میکنه، مثلاً /etc/php/8.2/fpm/php.ini یا /etc/php/8.2/apache2/php.ini). بعد این دو خط رو به انتهای فایل اضافه کن:
zend_extension = /usr/local/ioncube/ioncube_loader_lin_8.2.so
ioncube.loader_path = /usr/local/ioncube/
دقت کن عدد نسخه PHP توی اسم فایل loader باید با نسخهای که روی سرورت نصبه یکی باشه. مثلاً اگه PHP 8.1 داری، باید بنویسی ioncube_loader_lin_8.1.so. در آخر، فقط کافیه PHP یا وبسرورت رو ریلود یا ریاستارت کنی تا تنظیمات جدید اعمال بشن. مثلاً:
sudo systemctl restart apache2
یا اگه از PHP-FPM استفاده میکنی:
sudo systemctl restart php8.2-fpm
بعد از انجام این مراحل، با دستور php -v یا باز کردن یه فایل phpinfo() میتونی مطمئن بشی که ionCube Loader به درستی نصب شده. اگه اسمش توی خروجی اومد، یعنی همهچی درسته و ارور از روی سایتت باید حذف شده باشه.
در کل، اگه مدیر سرور باشی و کمی با SSH آشنا باشی، این روش یکی از تمیزترین و حرفهایترین راهها برای نصب ionCube Loader بهصورت دستی محسوب میشه.
رفع خطای ionCube Loader روی لوکال هاست
اگه این خطا رو روی لوکال هاست دیدی، مثلاً وقتی داری با XAMPP یا WAMP کار میکنی، نترس! چون نصب ionCube Loader روی سیستم شخصی خیلی راحتتر از سرور واقعیه. فقط چند تا کار ساده باید انجام بدی تا همه چی درست بشه.
اول از همه برو توی سایت رسمی ionCube به آدرس ioncube.com. اونجا قسمت Downloads رو باز کن و گزینهی Loaders رو انتخاب کن. حالا باید نسخهای رو دانلود کنی که با سیستم عامل و نسخهی PHP خودت یکی باشه. مثلاً اگه ویندوز داری و XAMPP نصبه، باید نسخهی مخصوص ویندوز رو بگیری. یه نکته مهم هم اینه که حواست باشه نسخهی PHP که استفاده میکنی Thread Safe هست یا نه، چون باید Loader هم با همون نوع مطابقت داشته باشه.
بعد از اینکه فایل رو دانلود کردی، از حالت فشرده درش بیار. داخلش یه پوشه به اسم ioncube هست و چند تا فایل با اسمهایی شبیه ioncube_loader_win_8.2.dll یا ioncube_loader.php توش پیدا میکنی. همونا قراره به PHP معرفی بشن.
حالا باید بری سراغ فایل تنظیمات PHP. اگه از XAMPP استفاده میکنی، مسیرش معمولاً اینه: C:\xampp\php\php.ini فایل رو با یه ویرایشگر باز کن (مثلاً Notepad++) و تا آخرش برو. اون پایین یه خط جدید اضافه کن به این شکل:
zend_extension = "C:\xampp\ioncube\ioncube_loader_win_8.2.dll"
البته مسیر و نسخه PHP رو متناسب با سیستم خودت بنویس، این فقط یه مثاله. وقتی این خط رو اضافه کردی، فایل رو ذخیره کن و ببند. حالا فقط باید Apache یا PHP رو ریاستارت کنی. مثلاً اگه XAMPP داری، توی کنترلپنلش Apache رو Stop کن و دوباره Start بزن تا تنظیمات جدید اعمال بشن.
برای اینکه مطمئن شی نصب درست انجام شده، یه فایل بساز به اسم info.php و این یه خط کد رو توش بذار:
<?php phpinfo(); ?>
بعد برو توی مرورگر و آدرس localhost/info.php رو بزن. اگه پایین صفحه اسم ionCube Loader رو دیدی، یعنی کار تمومه و خطا باید از بین رفته باشه.
همین! نصب ionCube Loader روی لوکال هاست واقعاً کار سختی نیست، فقط باید نسخهها با هم بخونن. بعد از انجام این کار، دیگه هر قالب یا افزونهای که با ionCube رمزگذاری شده باشه بدون هیچ اروری روی لوکال هاستت اجرا میشه.
جمع بندی
در نهایت، چیزی که میخواستم بهت برسونم اینه که این مشکل چیه و چطور میتونی حلش کنی. وقتی قالب یا افزونهای داری که نیاز به ionCube Loader داره، سایتت بدون این ماژول قادر به اجرای کدهاش نیست و خطا میده. حالا اینکه این ماژول چیه و چطور کار میکنه رو قبلاً توضیح دادیم، و حتی روشهای مختلف برای نصبش روی سرور یا لوکال هاست رو قدمبهقدم گفتیم.
همه کدها و دستورهای لازم رو برات گذاشتیم، کافیه اونها رو طبق راهنمایی وارد کنی. اگه جایی گیر کردی یا مشکلی پیش اومد، میتونی توی کامنتها بپرسی و دقیقاً راهنمایی میشی. اما یه نکته مهم اینه که اگه دسترسی مدیریت سرور نداری، واقعاً هیچ راه دیگهای جز این وجود نداره که از هاستینگ بخوای این ماژول رو برات نصب کنه و فعال کنه.
در هر صورت، حالا که همه چیزو میدونی، میتونی بدون دردسر قالب یا افزونهات رو نصب و اجرا کنی و دیگه از این خطای معروف خبری نیست. پس راحت باش، دستورات رو دنبال کن و سایتت رو آماده کن، شاد سربلند باشید. 🙂
Unfortunately, {Themify Shoppe Child} settings are Disabled! The Product PHP files are encrypted for more performance and security! ionCube Loader is required to be installed in your host! Please contact your hosting support and ask them to install the ioncube loader
این ارور رو چطور رفع کنم
بایستی از پشتیبان هاست بخواهید بسته ioncube loader را روی سرویس هاست شما فعال کند.
Script error: the ionCube Loader for PHP needs to be installed. The ionCube Loader is the industry standard PHP extension for running protected PHP code, and can usually be added easily to a PHP installation. For Loaders please visit get-loader.ioncube.com and for an instructional video please see http://ioncu.be/LV
من با لاراگون وارد میشم این ارور بهم میده چیکار باید بکنم؟
من تمام مراحل را انجام دادم اما در نهایت با خطا زیر مواجه شدم.
Fatal error: Only files produced by the PHP 8.2 ionCube Encoder can run on PHP 8.2. The file G:\xampp\htdocs\mehdi\wp-content\themes\betheme-27511-update\betheme\functions\theme-functions.php has been encoded by the ionCube Encoder for PHP 8.1. in Unknown on line 0
چکار باید بکنم؟
سلام
من سایتم رو روی لوکال هاست با استفاده از xamp بالا اورده بودم و مدتی به دلیل مشغله زیاد وقت نکردم واردش بشم و امروز که خواستم سری بهش بزنم با این ارور روبرو شدم :
Fatal error: The file F:\xampp\htdocs\bariazi\wp-content\plugins\RTL-CareUnit\vendor\autoload.php cannot be run by the ionCube Loader. Please ask the script provider to supply an encoded file that can run on your version of PHP, 7.2. in Unknown on line 0
میتونید راهنماییم کنید؟
درضمن من چون قالبم از php ورژن جدید پشتیبانی نمی کرد مجبور شدم از ورژن قدیمی xamp یعنی نسخه v3.2.4 یال 2019 استفاده کنم که البته مشکلی نداشت تا امروز
سلام شب بخیر من روی لاراگون ioncube رو نصب کردم و همه مراحل رو انجام میدم ولی کلا وقتی مرحله localhast/ionCube/آدرس فایل باز میکنی توو مرورگر خطا میده و اصلا صفحش رو باز نمیکنه برای این چیکار میتونم بکنم ؟
حتی مراحل رو از حفظ رفتم بازم خطا اینیستال نشون میده
این خطایی که نشون میده
Site error: the ionCube PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking. Please visit get-loader.ioncube.com for install assistance.
سلام خسته نباشید. من تازه در حال یادگرفتن ورد پرس هستم و یک هفتس که شروع کردم وبه یک مشکلی خوردم. در ورد پرس آپدیت php برای من اومده و وفتی میخوام برم کنترل پنلم که دایرکت ادمین هست , در domain setup با ارور Cannot load the ionCube PHP Loader روبرو میشم که هیچی دیگه جز این ارور نیست نمیدونم باید چکار کنم. ممنون میشم راهنمایی کنید.
وقت بخیر استاد ممنونم بابت آموزش خوبتون
من با این خطای توی لوکال هاست مواجه شدم سرچ کردم راه حل کاربردی پیدا نکردم که بتونم رفعش کنم خطا رو لطفاً راهنمایی بفرمایید
the current database engine is [mysql 8.0.30] while the host database engine was [mariadb 10.6.14]. in some cases this might cause problems with the migration.
سلام وقت بخیر. اگه مشکلی ایجاد کرده باشید دیتابیس سرور رو تغییر بدین. با هاست در ارتباط باشید. خطای شما مربوط به ioncube نیست.
با سلام و وقت بخیر
من زمپ رو روی لوکال هاست نصب کردم
مراحل بالا رو همه انجام دادم وقتی تم رو فعال میکنم این ارور رو میده
Fatal error: The file C:\xampp\htdocs\car\wp-content\themes\zanbil\functions.php encoded as type [1/81] cannot be decoded by this version of the ionCube Loader. in Unknown on line 0
سلام
https://mihanwp.com/fatal-error/
این آموزش رو مشاهده کنید
ی خواهش دیگه هم داشتم لطفا در مورد فایل .htaccess هم توضیح بدید و همچنین پیغام هایی نظیر این که هی نشون میده
Would you like All In One WP Security & Firewall to restore the config settings and re-insert the security rules in your .htaccess file which were cleared when you deactivated the plugin?
ممنون
در موردش تو سایت و دوره سایت برتر توضیحاتی دادیم.
سلام استاد خسته نباشید
لطفا در مورد تمام موارد سلامت سایت پیشخوان وردپرس هم آموزش بزارید. کلافه مون کرد بخدا 🙁 هر دفعه یه پیشنهاد و بحران
سلام چشم
پیشنهاد شما رو به تیم تولید محتوا منتقل کردم
سلام خدمت استاد راد.
برای یکی از برنامه های تلویزیون وردپرس، خیلی علاقهمندم که یک هوم تور از دفتر شما توی دبی + تجهیزات شما (تجهیزات و حتی چراغ و صندلی و…) رو ببینم.
سلام وقت بخیر اگر وقت شد حتما. فعلا یه لیست طولانی از محتوایی که باید تولید کنیم داریم
سلام ببخشید
فکر کنید من برای یک نفر وب سایت طراحی کردم حالا چگونه وب سایت رو به صورت کامل به کارفرما تحویل بدم؟
اطلاعات هاست و وردپرس و پنل دامین رو بهشون بدین
باسلام
لطفا یه ویدیو در مورد ساخت یک فضای مجازی مانند اسکای روم تهیه کنید
ممنون میشم
سلام کار راحتی نیست ولی قبلا در موردش تو سایت گفتیم. https://mihanwp.com/wordpress-webinar-plugins/
بنده در حال توسعه یک افزونه وردپرس هستم که قصد دارم آن را بفروشم. سوالاتی در خصوص لایسنس گذاری و جلوگیری از انتشار غیر قانونی آن دارم ممنون میشوم پاسخ دهید:
۱. سازنده قالب ها و افزونه های غیر رایگان معروف وردپرس مثل المنتور پرو، وودمارت، راکت وردپرس و … به چه نحوی محصولشان را لایسنس گذاری می کنند؟ آیا آنها مانند برخی مارکت پلیس های فروش قالب و افزونه ایرانی، بخشی از کد افزونه را رمزنگاری می کنند یا اینکه دسترسی به کد محصولشان آزاده و صرفا لایسنس برای پشتیبانی و آپدیت هست؟
۲. محصولات میهن وردپرس مثل قالب اهورا چطور لایسنس گذاری میشوند؟ در ویدئو فرمودین که لایسنس محصولات خودتان صرفا برای آپدیت و پشتیبانی هست و کد رمزگذاری نمی شود. در این صورت اگر لایسنس برای پشتیبانی باشد پس فردی که قالب اهورا را یک بار خریداری میکند آیا می تواند روی بی نهایت سایت نصب کند؟
سلام ۱. خیر یک سیستم لایسنس برای آپدیت و پشتیبانی ساختن ۲. بله میتواند اما مثلا نصب دمو برای سایت دوم قابل اجرا نیست.