چگونه می‌توان خطای 500 در CMS مجنتو را برطرف کرد؟

دسته بندی: آموزش, نکات فنی
رفع خطای 500 در مجنتو 2

در این مقاله می‌خواهیم چگونگی برطرف کردن ارور 500 در مجنتو 2 را آموزش دهیم. مجنتو یک سیستم مدیریت محتوا است که اتفاقاً محبوبیتش رو ‌به افزایش است. چقدر با آن آشنایی دارید؟

مجنتو (Magento) چیست؟

مجنتو یک سیستم مدیریت محتوا مخصوص سایت های E-Commerce است Magento یک پلتفرم همه‌فن‌حریف برای ساخت فروشگاه‌های آنلاین (E-Commerce) است که با کد PHP نوشته شده است. 

این سیستم مدیریت محتوا توسط شرکت Adobe توسعه یافت. وقتی با مجنتو یک فروشگاه آنلاین ایجاد کنید، پرداخت آنلاین، مدیریت محصولات و برخی امکانات کارآمد دیگر، به‌راحتی در اختیارتان قرار می‌گیرند.

بسیاری از برندهای سرشناس دنیا مثل نایک، فورد و کوکاکولا از این CMS برای سایت‌های خود استفاده می‌کنند.

اگر می‌خواهید بدانید مجنتو بیشتر مناسب چه سایت‌هایی است، مقاله انواع سیستم‌های مدیریت محتوا را بخوانید.

خب برویم سراغ اصل موضوع.

رفع ارور 500 در CMS مجنتو 2

اگر به مقاله ارور 500 چیست؟ سری بزنید، با ماهیت این‌ نوع از خطاهای HTTP کاملاً آشنا خواهید شد.

در رابطه با سیستم مدیریت محتوای مجنتو، این ارور یکی از رایج‌ترین مشکلاتی است که پیش می‌آید.

این کد خطا معمولاً هنگام نصب، به‌روزرسانی یا حذف اجزای مختلف این CMS مثل تم‌ها و افزونه‌ها بروز پیدا می‌کند.

حتما بخوانید:  DNS چیست؟ آشنایی با نیم سرور یا Domain Name System

خب این خطا باعث ایجاد اختلال در فروشگاه اینترنتی خواهد شد. احتمالاً بسیاری از کاربران تجربه بسیار بدی خواهند داشت و این چیزی نیست که شما به‌عنوان صاحب سایت می‌خواهید. پس بیایید برویم سراغ چگونگی رفع آن.

خطای 500

نکته: قبل از عیب‌یابی و رفع مشکل، باید حالت Developer Mode را فعال کنید. به این ترتیب می‌توانید اطلاعات بیشتری را در رابطه با خطا به دست آورید. برای انجام این کار، کافی است دستور زیر را اجرا کنید:

php bin/magento deploy:mode:set developer

8 دلیل اصلی برای بروز این مشکل وجود دارند که در ادامه آن‌ها را همراه با راه‌حل بررسی خواهیم کرد:

1- محدودیت در دسترسی‌ها را تغییر دهید

در بسیاری از مواقع، این مشکل زمانی بروز پیدا می‌کند که وارد پنل ادمین می‌شوید!

برای رفع آن، می‌توانید اجازه دسترسی در فایل Index.php را از روت 664 به 644 تغییر دهید.

از مجموع دستورات زیر استفاده کنید. احتمال دارد که بعد از اجرا مشکل به‌کل برطرف شود.

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
find ./var -type d -exec chmod 777 {} \;
find ./pub/media -type d -exec chmod 777 {} \;
find ./pub/static -type d -exec chmod 777 {} \;
chmod 777 ./app/etc
chmod 644 ./app/etc/*.xml
chmod u+x bin/magento

2- محدودیت در Memory افزایش دهید

در بعضی مواقع، فقط صفحات مشخصی از مجنتو، مثل صفحات محصولات با این خطا مواجه می‌شوند. در این حالت می‌توان با افزایش محدودیت تعیین‌شده برای مموری، مشکل را برطرف کرد.

این افزایش محدودیت در فایل htaccess. یا php.ini انجام می‌شود.

برای فایل htaccess. از دستور زیر استفاده کنید:

php_value memory_limit 1024M

برای فایل php.ini از دستور زیر کمک بگیرید:

memory_limit = 1024M

نکته: برای اعمال این تغییرات، به اجازه ارائه‌دهنده هاست نیاز دارید.

حتما بخوانید:  آموزش دیلیت اکانت اینستاگرام؛ به 2 روش موقت و دائمی!

3- فایل htaccess. را یا حذف کنید یا نامش را تغییر دهید!

برخی اوقات ممکن است بروز خطا به‌خاطر تنظیمات اشتباه در فایل htaccess. باشد. اگر نام این فایل را تغییر دادید، یا به‌کل آن را حذف کردید و مشکل برطرف شد، می‌توانید مطمئن شوید که دلیل همین بوده است.

اگر مشکل با انجام یکی از این دو کار برطرف نشد، احتمالاً دلیل آن مربوط به ورژن PHP است. شاید هم برخی از تنظیمات سرور ایراد دارند.

4- حالت نگهداری (Maintenance) را غیرفعال کنید

اگر فایل maintenance.flag را در فولدر روت مجنتو قرار دهید، در واقع آن را فعال کرده‌اید. این حالت، با ایجاد تغییر در دسترسی در فایل index.php، اجرای آن برای مرورگرها را غیرممکن می‌کند.

برای غیرفعال کردن این حالت، هم می‌توانید این فایل را حذف کنید و هم می‌توانید از دستور زیر کمک بگیرید:

php bin/magento maintenance:disable

سپس دسترسی index.php را به 755 تغییر دهید و کش را پاک کنید. بعد بررسی کنید که آیا مشکل برطرف شده است یا نه!

5- افزونه CURL را نصب کنید

خیلی اوقات، بروز خطای 500 در مجنتو 2 به دلیل نبود افزونه CURL است. این افزونه را با استفاده از دستور زیر نصب کنید:

yum install curl libcurl3 libcurl3-dev php5-curl

برای اعمال تغییرات، نیاز است تا httpd را Restart کنید:

service httpd restart

6- مشکلات مربوط به افزونه‌های Third-Party

گاهی ممکن است ایراد به‌خاطر نصب یا به‌روزرسانی یک افزونه جدید باشد. در این حالت، می‌توانید با اجرای دستور زیر پلاگین را غیرفعال کنید و با تیم پشتیبانی آن ارتباط بگیرید:

php bin/magento mod:disable

7- ارور لاگ وب سرور را بررسی کنید

یکی دیگر از راه‌هایی که می‌تواند خطای 500 را در مجنتو 2 برطرف کند، بررسی Error-log وب‌سرور است. همچنین توصیه می‌شود log file مجنتو که در فایل var/log قرار دارد را هم بررسی کنید.

حتما بخوانید:  حفره امنیتی SSL Heartbleed و راه مقابله با آن

8- تمام دستورات مجنتو 2 را از ابتدا اجرا کنید.

تمام دستورات زیر را از اول اجرا کنید:

rm -rf generated/*
rm -rf var/*
cd pub/static
rm -r adminhtml
rm -r frontend
cd ..
cd ..
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy -f
php bin/magento indexer:reindex
php bin/magento cache:clean
php bin/magento cache:flush

حرف آخر

 بروز خطای 500 در CMS مجنتو 2 کاملاً عادی است و اصلاً جای نگرانی ندارد.  اگر احیاناً به این مشکل برخوردید، از راه‌حل‌های بالا استفاده کنید. در نهایت یکی از آن‌ها مشکل‌تان را برطرف خواهد کرد.

برای تهیه این آموزش، از سایت MageComp کمک گرفته‌ایم.

اگر سوالی در این زمینه دارید، حتماً در قسمت کامنت‌ها بنویسید تا پاسخ‌تان را بدهیم.

تشکر از وقت ارزشمندتان.

امتیاز شما

مایلید هر دو هفته یک ایمیل مفید دریافت کنید؟

ما را در شبکه‌های اجتماعی دنبال کنید

همچنین شاید دوست داشته باشید!

عکس شاخص مقاله دائو چیست

DAO چیست و چه کاربردهایی دارد؟!

0
در دوران گذر به سر می‌بریم. گذر از تکنولوژی‌های قدیمی و ظهور نسل جدیدی از فناوری. از رمزارزها گرفته تا متاورس. فناوری‌هایی که هرکدام منجر…

نظرات کاربران

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

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

فهرست