امروز : ۰۹ شهریور ۱۴۰۴ (2025/08/31)

رفع خطای 500 المنتور

رفع خطای 500 المنتور
09 شهریور 1404

المنتور به عنوان یکی از افزونه های محبوب وردپرس از سال 2016 معرفی شده است که برای کاربران این امکان را فراهم کرد بدون نیاز به دانش برنامه نویسی به ساخت صفحات زیبا و متنوع بپردازند!

طراحی سایت با المنتور امروزه یکی محبوب ترین روش ها برای طراحی سایت می باشد و اگر بدانیم سهم وردپرس به عنوان یک cms در راه اندازی سایت حدود 60 درصد سایت های دنیا می باشد علت این محبوبیت بیشتر مشخص می شود.

المنتور ابزاری است که هر کسی، چه طراح حرفه‌ ای و چه کاربر تازه‌ کار، می‌تواند با آن صفحات وب زیبا و حرفه‌ای بسازد. سرعت طراحی، انعطاف‌ پذیری و قابلیت‌ های پیشرفته آن باعث شده است که این افزونه به یکی از محبوب‌ ترین ابزار های طراحی وب تبدیل شود.

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

اما گاهی کار کردن با المنتور دچار چالش هایی هم می شود برای مثال وقتی قالب سایت سنگین هست یا دارای جزئیات زیادی در صفحه هست ممکن است لود شدن المنتور یا ذخیره تغییرات با کندی شدید یا خطا همراه شود.

در این آموزش قصد داریم یکی از رایج ترین خطا های المنتور یا همان خطای  500 Internal Server Error را معرفی و برطرف کنیم.

خطای 500 المنتور:

خطای 500 Internal Server Error در المنتور یک خطای سمت سرور است و به این معنی است که وقتی شما سعی می‌کنید یک صفحه را ویرایش یا بارگذاری کنید، سرور نمی‌تواند درخواست شما را پردازش کند و پاسخ مناسبی برنمی‌ گرداند. این خطا معمولاً یک پیام عمومی است و علت دقیق را مشخص نمی‌ کند.

برای فهمیدن علت خطا می توانید فایل wp-config.php در مسیر پروژه وردپرسی خود را باز کنید و سپس دیباگ پروژه را روشن کنید.

 

wp-config.php می توان دیباگ وردپرس را روشن کرد.

 

در این حالت اگر خطایی باشد برای شما نمایش داده می شود.

در قدم بعدی می توانید فایل error_log.php را باز کنید. این فایل آخرین خطا های ثبت شده در وردپرس شما را ذخیره می کند و به ترتیب از بالا به پایین (قدیمی به جدید) نمایش می دهد. برای این که لاگ های لحظه ای را مشاهده کنید فقط کافی هست یکبار فایل را حذف کنید دوباره المنتور را رفرش کنید و با مشاهده خطای 500 دوباره این فایل ساخته می شود.

این فایل در مسیر محل نصب وردپرس شما وجود دارد و می توانید آن را بررسی کنید.

نکته: در بعضی موارد ممکن است خطای داده شده باعث ذخیره لاگ نشود!

حل خطای 500 المنتور چندین گام دارد که در این آموزش مهمترین قسمت های آن را خدمت شما توضیح می دهیم که چه عواملی بیشتر باعث این خطا می شوند و تک تک برای هرکدام از این علت ها خدمت شما عزیزان راهکار ارائه می کنیم.

 

1- کمبود میزان Ram PHP یا همان Memory Limit:

کم بودن رم php یکی از رایج ترین دلایلی هست که افزونه المنتور در زمان بروزرسانی دچار خطای 500 Internal Server Error می شود! گاهی کاربران در زمان تغییرات در المنتور خود در برگه های دیگر سایت دچار مشکل نمی شوند! ولی در بروزرسانی صفحات اصلی خود یا صفحاتی که المان ها و ویجت های زیادی دارد و با جزئیات بالا طراحی شده اند دچار خطای 500 برای ذخیره سازی می شوند! این مشکل نشان دهنده این است که المنتور به میزان منابع بیشتری نیاز دارد برای همین است که این خطا رخ می دهد.

افزایش میزان Ram در PHP می‌تواند تأثیر مستقیم و قابل‌ توجهی بر کاهش یا رفع خطای 500 در المنتور داشته باشد، چون المنتور یک افزونه سنگین از نظر پردازش و مصرف حافظه است.

ram php

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

  • بارگذاری ویجت‌ ها و استایل‌ ها
  • پردازش درخواست‌های AJAX
  • رندر کردن پیش‌ نمایش زنده
  • اجرای جاوا اسکریپت‌ های مربوط به تعاملات کاربر

همه این‌ ها در سمت سرور نیاز به فضای حافظه رم دارند. اگر مقدار PHP memory_limit کمتر از نیاز باشد، اجرای اسکریپت متوقف می‌شود و سرور پاسخ کامل نمی‌دهد که در عمل به خطای 500 منجر می‌شود.

کم بودن رم php تاثیرات زیر را دارد:

 

الف- جلوگیری از توقف ناگهانی اسکریپت‌ ها:

وقتی حافظه کافی نباشد، PHP اسکریپت را قطع می‌کند و پردازش نیمه‌ کاره می‌ ماند. افزایش حافظه باعث می‌ شود ویرایشگر المنتور بتواند عملیاتش را کامل اجرا کند و از قطعی ناگهانی در زمان اجرا جلوگیری می شود.

ب- امکان پردازش صفحات پیچیده‌ تر:

صفحاتی که تعداد زیادی ویجت، اسلایدر یا افکت دارند، نسبت به صفحات ساده چندین برابر حافظه مصرف می‌ کنند و افزایش RAM کمک می کند این صفحات را بدون مشکل باز و ویرایش کنید.

پ- کاهش احتمال Timeout:

حافظه بیشتر باعث می‌شود عملیات سریع‌ تر و بدون وقفه انجام شود، و احتمال رسیدن به محدودیت زمانی سرور کاهش پیدا کند و فراموش نکنید هرچه یک عملیات اجرایی سریعتر باشد امکان به محدودیت خوردن زمانی کمتر می شود.

ت- بهبود پایداری هنگام کار طولانی در ویرایشگر:

اگر در حین ویرایش چند بار ذخیره یا پیش‌ نمایش بگیرید، مصرف حافظه تجمعی بالا می‌رود. RAM بیشتر مانع از افتادن به خطای 500 در این حالت می‌شود.

چطور Ram PHP را افزایش دهیم؟

برای افزایش رم php عموما سه راهکار وجود دارد که به ترتیب خدمت شما عرض می کنیم.

 

1- از طریق Multi PHP Manager:

برای افزایش رم php در هاست هایی که سی پنل می باشند و با کلادلینوکس قدرت گرفته اند شما می توانید وارد Multi PHP Manager شوید و در قسمت Configure PHP INI basic settings نام دامنه ای که المنتور روی آن به مشکل خورده است را انتخاب کنید و سپس در کادر مربوط به memory_limit میزان بالاتری مانند 1024M یا 2048M را روی دامنه خود تنظیم کنید مانند تصویر زیر و سپس Apply کنید.

در این حالت یک فایل به نام php.ini در مسیر داکیومنت روت شما (اگر دامنه اصلی باشد در مسیر public_html) ساخته می شود و مقادیری که در تصویر وارد شده است را روی این دامنه اعمال می شود.

 

افزایش میزان رم php در multi php manager

 

2- به کمک Select PHP Version:

قسمت دیگری که می توان رم php را افزایش داد در Select PHP Version می باشد که توسط کلادلینوکس به سی پنل اضافه شده است. در این قسمت شما علاوه بر اینکه می توانید نسخه php هاست خود را تعیین کنید که دامنه ها روی چه نسخه ای ران شود می توانید پارامتر های دیگر را هم تنظیم کنید.

برای این کار فقط کافی هست از تب مربوطه به Options میزان memory_limit را به بالاترین میزان تعیین شده در سرور ارتقا دهید و به صورت اتوماتیک ذخیره می شود.

این قسمت هم کمک می کند شما بتوانید میزان تعیین شده Ram PHP را به سادگی ارتقا داده و سپس تست های لازم برای حل مشکل خطای 500 المنتور را انجام دهید.

 

select php version برای تعیین نسخه php و پارامتر های آن به کار می رود.

نکته: میزان Ram که در این قسمت قابل انتخاب هست از سمت سرور تعیین می شود و در صورتی که می خواهید امکان انتخاب میزان Ram بالاتر را داشته باشید باید به پشتیبان هاستینگ خود اطلاع دهید تا آن را افزایش دهد.

 

3- افزایش میزان رم در wp-config.php:

در بعضی پروژه های وردپرسی در زمان نصب قالب میزان رم در فایل wp-config.php تعیین شده می باشد و در صورتی که شما موارد بالا را هم انجام دهید ولی اگر میزان کمتری در این فایل اعمال شده باشد همین مقدار به عنوان محدودیت نهایی روی دامنه و پروژه شما اعمال می شود برای همین باید حتما در مسیر وردپرس خود فایل wp-config.php را باز کنید و دنبال کدی به صورت زیر باشید.


define('WP_MEMORY_LIMIT', '512M');

اگر این کد در فایل wp-config شما وجود داشت یا کلا خط مربوط به این کد را بردارید یا میزان آن را افزایش دهید و سپس ذخیره کنید.

 

2- غیرفعال کردن افزونه های دیگر

یکی دیگر از مواردی که در بررسی رفع خطای 500 المنتور می توان انجام داد غیرفعال کردن موقتی افزونه های دیگر برای تست این موضوع می باشد! گاهی افزونه ها با افزایش بار مصرفی روی هاست شما و پر کردن کامل منابع اجازه لود شدن صحیح و یا ذخیره تغییرات در المنتور را نمی دهند.

وقتی افزونه‌ های دیگر را غیرفعال می‌کنید، در واقع دارید محیط را به حالت حداقلی برمی‌ گردانید که در آن فقط وردپرس + المنتور فعال است. این کار چند اثر مهم دارد:

الف- حذف احتمال تداخل افزونه‌ ای

بعضی افزونه‌ ها, اسکریپت‌ ها یا استایل‌ هایی اضافه می‌ کنند که روی ساختار DOM یا کدهای جاوا اسکریپت المنتور اثر می‌گذارد.

برخی افزونه‌ ها (مثل افزونه‌های کش، امنیت، یا بهینه‌ ساز تصاویر) درخواست‌ های المنتور را مسدود یا تغییر می‌دهند که باعث بروز خطا در لود شدن یا ذخیره سازی تغییرات المنتور می شوند.

اگر پس از غیرفعال کردن همه افزونه‌ های غیر ضروری، مشکل برطرف شود، تقریباً مطمئن می‌شویم که یک تداخل افزونه‌ ای عامل خطا بوده است.

ب- کاهش بار پردازشی سرور

هر افزونه کد های PHP خودش را بارگذاری می‌ کند، که باعث مصرف بیشتر حافظه و CPU می‌ شود.

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

غیرفعال کردن افزونه‌ ها منابع را آزاد می‌ کند و به شما کمک می‌ کند بفهمید آیا مشکل از کمبود منابع بوده یا خیر.

پ- ساده‌ سازی گزارش خطاها (Error Logs)

وقتی چند افزونه فعال هستند، گزارش خطا (error_log) پر از پیام‌ های مختلف می‌ شود.
با غیرفعال کردن بقیه افزونه‌ ها، منبع خطا راحت‌ تر قابل شناسایی است، چون پیام‌ های غیرمرتبط حذف می‌شوند.

ت- ایزوله کردن مشکل

اگر با غیرفعال کردن همه افزونه‌ ها (به جز المنتور) مشکل حل شود، می‌توانید به روش فعال‌ سازی تدریجی  افزونه‌ها را یکی‌ یکی روشن کنید تا دقیقاً بفهمید کدام افزونه مقصر است.

این روش تست تدریجی یکی از سریع‌ ترین راه‌های پیدا کردن دلیل خطای 500 در وردپرس است.

نکته: حتما قبل از هنگام انجام این کار از سایت بکاپ بگیرید و برای جلوگیری از کاهش کارکرد سایت برای کاربران در زمانی که پیک مصرف سایت می باشد یا در جشنواره های فروش قرار دارید، این تست را بهتر است در حالت Maintenance Mode یا به صورت کپی روی یک ساب دامنه انجام دهید تا زمانی که مشغول عیب یابی روی سایت هستید کاربران شما دچار مشکل در بازدید از سایت نشوند و عملکرد وب سایت شما مختل نشود.

نکته2: در بعضی موارد، افزونه‌ های کش (مثل WP Rocket یا LiteSpeed Cache) حتی بعد از غیرفعال‌ سازی، فایل‌ های کش قدیمی را نگه می‌دارند پس باید کش را پاک کنید تا این غیرفعال کردن کش ها به صورت اصولی اعمال شود.

 

نحوه غیرفعال کردن افزونه:

بهترین راهکار برای غیرفعالسازی افزونه ها وارد شدن به مسیر نصب افزونه ها در مسیر پروژه می باشد. برای این کار فقط کافی است وارد مسیر زیر شوید:

public_html/wp-content/plugins

اگر وردپرس روی دامنه اصلی شما نصب می باشد مسیر پلاگین ها به صورت بالا خواهد بود و اگر روی یک ساب دامنه و یا ادان دامنه قرار دارد باید به جای public_html وارد مسیر ساب دامنه یا ادان دامنه خود شوید.

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

 

با تغییر نام افزونه می توان موقت آن ها را از دسترس خارج کرد.

برای مثال در این تصویر دو افزونه دابلیکیتور و کش لایت اسپید با قرار دادن عدد یک جلوی نام دامنه غیرفعال شدند و می توان مجدد تست المنتور را اجرا کرد که آیا خطای 500 رفع شده یا خیر.

 

3- تغییر نسخه PHP:

تغییر نسخه PHP می‌تواند تأثیر قابل‌ توجهی روی حل خطای 500 در المنتور داشته باشد، ولی تأثیر آن مستقیماً به سازگاری افزونه‌ ها، قالب و سرور مربوط می‌شود، نه خود المنتور به تنهایی.

  • المنتور و بسیاری از افزونه‌ های وردپرس معمولاً با نسخه‌های PHP جدیدتر و پایدارتر بهتر کار می‌کنند (PHP 8.1 تا 8.3 معمولاً توصیه می‌شود).

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

  • نسخه‌های جدید PHP معمولاً بهینه‌ تر و سریعتر هستند و مصرف حافظه بهتری دارند.

  • بعضی خطاهای 500 ناشی از کمبود حافظه یا زمان اجرای طولانی (max_execution_time) ممکن است با ارتقاء PHP کاهش یابد، چون پردازش سریع‌ تر انجام می‌شود و نیاز به حافظه کمتر است (در آموزشی که برای افزایش رم php گفته بودیم می توانید max_execution_time  را هم افزایش دهید.)

  • گاهی نسخه PHP خیلی جدید باعث می‌ شود برخی افزونه‌ ها یا قالب‌ ها که قدیمی هستند با Syntax یا توابع جدید ناسازگار شوند و باز هم خطای 500 رخ دهد.

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

تغییر نسخه PHP می‌تواند خطای 500 المنتور را حل کند اگر مشکل ناشی از ناسازگاری توابع یا محدودیت منابع باشد، اما اگر مشکل از تداخل افزونه‌ ها، تنظیمات سرور یا کم بودن رم php باشد، فقط تغییر PHP کافی نیست و باید ترکیب راهکار ها اجرا شود.

 

نحوه تغییر نسخه php:

برای تغییر نسخه php می توانید آموزش تغییر نسخه php در سی پنل را بررسی بفرمایید که هم در multi php manager و هم در select php version توضیح داده شده که چطور می توان نسخه را تغییر داد.

 

4- کم بودن منابع هاست:

کم بودن میزان منابع هاست شما هم می تواند باعث بروز خطا در اجرا و ذخیره تغییرات المنتور شود.

برای بررسی اینکه آیا منابع هاست شما برای پروژه ای که دارید کافی هست یا نه باید وارد سی پنل شوید و سپس از قسمت  resource usage میزان مصرف سایت خود را بررسی کنید!

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

 

در قسمت resource usage می توان مصرف سایت را مشاهده کرد.

برای مثال تصویر بالا نمونه ای از درگیری منابع یک هاست می باشد که این مصرف بالا هم در میزان سی پیو و هم در میزان مصرف رم کاملا مشهود می باشد وقتی مصرف منابع شما به شکل بالا باشد شما باید منابع هاست خود را ارتقا دهید و برای این کار بهتر است با شرکت پشتیبان هاستینگ خود یک مشاوره برای تهیه بهترین هاست متناسب با پروژه خود داشته باشید.

 

نتیجه گیری:

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

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

برای رفع آن باید ابتدا علت اصلی را شناسایی کرد که این کار معمولاً با فعال کردن دیباگ وردپرس و بررسی فایل‌ های خطا انجام می‌شود. سپس با اقداماتی مانند افزایش memory_limit در تنظیمات PHP، غیرفعال کردن افزونه‌ های غیرضروری برای حذف تداخل‌ ها، تغییر نسخه PHP به نسخه‌ ای پایدار و سازگار، پاک کردن کش‌ های ذخیره شده و در صورت نیاز ارتقای منابع هاست، می‌توان عملکرد المنتور را به حالت پایدار و بدون خطا بازگرداند.

اجرای این مراحل به صورت گام‌ به‌ گام باعث می‌ شود صفحات پیچیده و سنگین به‌ راحتی بارگذاری و ویرایش شوند و تجربه کار با المنتور روان‌ تر و سریع‌ تر شود.

چک کردن خطای 500 المنتور یکی از مواردی هست که نیاز به بررسی های دقیق دارد و باید با حوصله قدم به قدم مراحل را پیش رفت تا به نتیجه ی مطلوب رسید! در پارس وب سرور ما خطاهای مربوط به المنتور رابرای کاربران چک می کنیم و سعی می کنیم مشکلات مربوط به آن را به بهترین شکل برطرف کنیم.

 

Rate this post