خطای وحشتناک سرور داخلی 500. به نظر می رسد همیشه در نامناسب ترین زمان اتفاق می افتد و شما ناگهان در حال تقلا هستید تا بفهمید چگونه سایت وردپرس خود را آنلاین کنید. به ما اعتماد کنید، همه ما آنجا بوده ایم. خطاهای دیگری که رفتار مشابهی دارند و ممکن است دیده باشید عبارتند از خطای ترسناک ایجاد اتصال پایگاه داده و صفحه سفید وحشتناک مرگ . اما از لحظه ای که سایت شما خراب می شود، بازدیدکنندگان و مشتریان خود را از دست می دهید. ناگفته نماند که به سادگی برای برند شما بد به نظر می رسد.
امروز میخواهیم خطای سرور داخلی 500 را بررسی کنیم و راههایی را برای بازگرداندن سریع سایت خود به صورت آنلاین راهنمایی کنیم. در ادامه در مورد عوامل ایجاد این خطا و کارهایی که می توانید برای جلوگیری از آن در آینده انجام دهید، بیشتر بخوانید.
فهرست مطالب
- خطای سرور داخلی 500 (شایع ترین دلایل):
- خطای 500 سرور داخلی چیست؟
- 500 تغییرات خطای داخلی سرور
- نحوه رفع خطای 500 سرور داخلی
- 1. بارگذاری مجدد صفحه را امتحان کنید
- 2. کش مرورگر خود را پاک کنید
- 3. گزارش سرور خود را بررسی کنید
- 4. خطا در برقراری اتصال پایگاه داده
- 5. پلاگین ها و تم های خود را بررسی کنید
- 6. Core وردپرس را مجددا نصب کنید
- 7. خطای مجوزها
- 8. محدودیت حافظه PHP
- 9. مشکل با فایل htaccess
- 10. خطاهای کدنویسی یا نحوی در اسکریپت CGI/Perl
- خلاصه
خطای سرور داخلی 500 (شایع ترین دلایل):
خطای 500 سرور داخلی در وردپرس می تواند به دلایل زیادی ایجاد شود. اگر یکی از آنها را تجربه می کنید، به احتمال زیاد یکی (یا بیشتر) از عناصر زیر باعث ایجاد مشکل شده است:
- کش مرورگر.
- اعتبارنامه ورود به پایگاه داده نادرست است.
- پایگاه داده خراب
- فایل های خراب در نصب وردپرس شما.
- مشکلات سرور پایگاه داده شما
- فایل های اصلی وردپرس خراب شده است.
- فایل htaccess خراب شده و محدودیت حافظه PHP.
- مشکلات مربوط به پلاگین ها و تم های شخص ثالث.
- زمان بندی PHP یا خطاهای مرگبار PHP با افزونه های شخص ثالث.
- مجوزهای فایل و پوشه اشتباه است.
- محدودیت حافظه PHP در سرور شما تمام شده است
- فایل htaccess. خراب یا خراب شده است.
- خطا در اسکریپت CGI و Perl.
خطای 500 سرور داخلی چیست؟
گروه وظیفه مهندسی اینترنت (IETF) خطای 500 سرور داخلی را به صورت زیر تعریف می کند:
کد وضعیت 500 (خطای داخلی سرور) نشان می دهد که سرور با شرایط غیرمنتظره ای مواجه شده است که مانع از انجام درخواست شده است.
هنگامی که از یک وب سایت بازدید می کنید، مرورگر شما درخواستی را به سروری که سایت در آن میزبانی شده است ارسال می کند. سرور این درخواست را می گیرد، آن را پردازش می کند و منابع درخواستی (PHP، HTML، CSS، و غیره) را به همراه یک هدر HTTP پس می فرستد. HTTP همچنین شامل چیزی است که آنها کد وضعیت HTTP می نامند . کد وضعیت راهی برای اطلاع شما از وضعیت درخواست است. این می تواند یک کد وضعیت 200 به معنای “همه چیز درست است” یا یک کد وضعیت 500 باشد که به این معنی است که مشکلی پیش آمده است.
انواع مختلفی از کدهای خطای وضعیت 500 (500، 501، 502، 503، 504، و غیره) وجود دارد و همه آنها معنای متفاوتی دارند. در این مورد، یک خطای سرور داخلی 500 نشان میدهد که سرور با شرایط غیرمنتظرهای مواجه شده است که مانع از انجام درخواست شده است ( RFC 7231 ، بخش 6.6.1).
500 تغییرات خطای داخلی سرور
با توجه به انواع وب سرورها، سیستم عامل ها و مرورگرها، خطای سرور داخلی 500 می تواند خود را به روش های مختلف نشان دهد. اما همه آنها به یک چیز ارتباط برقرار می کنند. در زیر فقط چند مورد از انواع مختلفی که ممکن است در وب مشاهده کنید آورده شده است:
- “500 خطای داخلی سرور”
- “HTTP 500”
- “خطای سرور داخلی”
- “HTTP 500 – خطای سرور داخلی”
- “خطای 500”
- “خطای HTTP 500”
- “500 – خطای سرور داخلی””500. آن یک اشتباه است. یک خطای وجود دارد. لطفاً بعداً دوباره امتحان کنید. این تمام چیزیست که ما میدانیم.”
- “وب سایت نمی تواند صفحه را نمایش دهد – HTTP 500.”
- “در حال حاضر قادر به رسیدگی به این درخواست نیست. خطای HTTP 500.”
خطا 500 در سایت های معروف
همچنین ممکن است این پیام را به همراه آن مشاهده کنید:
سرور با یک خطای داخلی یا پیکربندی نادرست مواجه شد و نتوانست درخواست شما را تکمیل کند. لطفاً با مدیر سرور، webmaster@domain.com تماس بگیرید و آنها را از زمان وقوع خطا و هر کاری که ممکن است انجام داده باشید و ممکن است باعث بروز خطا شده باشد، مطلع کنید. اطلاعات بیشتر در مورد این خطا ممکن است در گزارش خطای سرور موجود باشد.
مواقع دیگر، ممکن است به سادگی یک صفحه سفید خالی ببینید. هنگامی که با 500 خطای سرور داخلی سروکار دارید، این در واقع در مرورگرهایی مانند فایرفاکس و سافاری بسیار رایج است.
حتی ممکن است برندهای بزرگتر پیامهای خطای سرور داخلی 500 سفارشی خود را داشته باشند، مانند این مورد از Airbnb.
در اینجا یک مثال خلاقانه 500 خطای سرور از طرف دوستان در readme است.
حتی یوتیوب قدرتمند نیز از 500 خطای سرور داخلی در امان نیست.
خطا 500 در IIS
اگر سرور IIS 7.0 (ویندوز) یا بالاتر باشد، کدهای وضعیت HTTP اضافی برای نشان دادن دقیقتر علت خطای 500 دارند:
- 500.0 – خطای ماژول یا ISAPI رخ داد.
- 500.11 – برنامه در وب سرور خاموش می شود.
- 500.12 – برنامه مشغول راه اندازی مجدد در سرور وب است.
- 500.13 – وب سرور خیلی شلوغ است.
- 500.15 – درخواست مستقیم برای global.asax مجاز نیست.
- 500.19 – داده های پیکربندی نامعتبر است.
- 500.21 – ماژول شناسایی نشد.
- 500.22 – پیکربندی ASP.NET httpModules در حالت Managed Pipeline اعمال نمی شود.
- 500.23 – پیکربندی ASP.NET httpHandlers در حالت Managed Pipeline اعمال نمی شود.
- 500.24 – پیکربندی جعل هویت ASP.NET در حالت Managed Pipeline اعمال نمی شود.
- 500.50 – یک خطای بازنویسی در حین رسیدگی به اعلان RQ_BEGIN_REQUEST رخ داد. یک خطای پیکربندی یا اجرای قانون ورودی رخ داد.
- 500.51 – یک خطای بازنویسی در حین رسیدگی به اعلان GL_PRE_BEGIN_REQUEST رخ داد. یک خطای پیکربندی جهانی یا اجرای قانون جهانی رخ داد.
- 500.52 – یک خطای بازنویسی در حین رسیدگی به اعلان RQ_SEND_RESPONSE رخ داد. یک قانون خروجی اجرا شد.
- 500.53 – یک خطای بازنویسی در حین رسیدگی به اعلان RQ_RELEASE_REQUEST_STATE رخ داد. یک خطای اجرای قانون خروجی رخ داد. این قانون به گونه ای پیکربندی شده است که قبل از به روز رسانی کش کاربر خروجی اجرا شود.
500.100 – خطای ASP داخلی.
تاثیر 500 خطا بر سئو
برخلاف خطای 503 که برای حالت نگهداری وردپرس استفاده میشود و به گوگل میگوید در زمان دیگری دوباره بررسی کند، خطای 500 اگر فوراً برطرف نشود میتواند تأثیر منفی بر سئو داشته باشد. اگر سایت شما فقط برای 10 دقیقه از کار افتاده باشد و بارها به طور مداوم خزیده شود، خزنده به سادگی صفحه را از حافظه پنهان تحویل می دهد. یا ممکن است Google حتی فرصتی برای خزیدن مجدد آن قبل از پشتیبان گیری نداشته باشد. در این سناریو، شما کاملاً خوب هستید.
با این حال، اگر سایت برای مدت زمان طولانی، مثلاً بیش از 6 ساعت، از کار افتاده باشد، ممکن است گوگل خطای 500 را به عنوان یک مشکل در سطح سایت ببیند که باید برطرف شود. این می تواند بر رتبه بندی شما تأثیر بگذارد . اگر نگران تکرار 500 خطا هستید، باید بفهمید که چرا شروع می شود. برخی از راه حل های زیر می تواند کمک کننده باشد.
نحوه رفع خطای 500 سرور داخلی
هنگامی که خطای سرور داخلی 500 را در سایت وردپرس خود مشاهده می کنید باید عیب یابی را از کجا شروع کنید؟ گاهی اوقات ممکن است حتی ندانید از کجا شروع کنید. معمولاً 500 خطا روی خود سرور وجود دارد، اما طبق تجربه ما، این خطاها از دو چیز نشات میگیرد، اولی خطای کاربر (مشکل سمت مشتری) و دوم این که مشکلی در سرور وجود دارد. بنابراین ما کمی از هر دو را بررسی خواهیم کرد.
این دلایل متداول و راههای رفع خطای سرور داخلی 500 و راهاندازی مجدد و راهاندازی در کمترین زمان را بررسی کنید.
1. بارگذاری مجدد صفحه را امتحان کنید
ممکن است برای برخی کمی بدیهی به نظر برسد، اما یکی از ساده ترین و اولین چیزهایی که باید هنگام مواجه شدن با خطای سرور داخلی 500 امتحان کنید این است که به سادگی یک دقیقه یا بیشتر صبر کنید و صفحه را بارگیری مجدد کنید (F5 یا Ctrl + F5). ممکن است میزبان یا سرور به سادگی بیش از حد بارگذاری شده باشد و سایت بلافاصله بازگردد. در حالی که منتظر هستید، میتوانید به سرعت یک مرورگر دیگر را امتحان کنید تا آن را به عنوان یک مشکل رد کنید.
کار دیگری که می توانید انجام دهید این است که وب سایت را در downforeveryoneorjustme.com قرار دهید. این وبسایت به شما میگوید که آیا سایت از کار افتاده یا مشکلی از جانب شماست. ابزاری مانند این کد وضعیت HTTP را که از سرور برگردانده می شود، بررسی می کند. اگر چیزی غیر از 200 “همه چیز اوکی است” باشد، یک علامت پایین را برمیگرداند.
ما همچنین متوجه شدهایم که گاهی اوقات این اتفاق میتواند بلافاصله پس از بهروزرسانی یک افزونه یا تم در سایت وردپرس خود رخ دهد. معمولاً این روی هاست هایی است که به درستی تنظیم نشده اند. اتفاقی که می افتد این است که آنها بلافاصله پس از آن یک تایم اوت موقت را تجربه می کنند. با این حال، همه چیز معمولاً در چند ثانیه حل می شود و بنابراین تازه کردن تنها کاری است که باید انجام دهید.
2. کش مرورگر خود را پاک کنید
پاک کردن کش مرورگر همیشه یکی دیگر از مراحل عیب یابی خوب قبل از ورود به اشکال زدایی عمیق در سایت شما است.
3. گزارش سرور خود را بررسی کنید
همچنین باید از لاگ های خطای خود استفاده کنید. این می تواند به شما کمک کند تا به سرعت مشکل را محدود کنید، به خصوص اگر ناشی از یک افزونه در سایت شما باشد.
اگر هاست شما ابزار لاگ ندارد، می توانید حالت اشکال زدایی وردپرس را نیز با افزودن کد زیر به فایل wp-config.php خود فعال کنید تا لاگ را فعال کنید:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
همچنین میتوانید فایلهای گزارش در Apache و Nginx را که معمولاً در اینجا قرار دارند بررسی کنید:
- آپاچی: /var/log/apache2/error.log
- Nginx: /var/log/nginx/error.log
اگر خطای 500 به دلیل یک خطای کشنده PHP نمایش داده می شود، می توانید گزارش خطای PHP را نیز فعال کنید. به سادگی کد زیر را به فایل ارسال خطا اضافه کنید. معمولاً میتوانید فایل را در تب کنسول Google Chrome DevTools محدود کنید.
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
و ممکن است لازم باشد فایل php.ini خود را با مورد زیر تغییر دهید:
display_errors = on
4. خطا در برقراری اتصال پایگاه داده
500 خطای داخلی سرور نیز می تواند از یک خطای اتصال پایگاه داده رخ دهد . بسته به مرورگر شما ممکن است خطاهای مختلفی مشاهده کنید. اما هر دو یک کد وضعیت 500 HTTP بدون در نظر گرفتن گزارشهای سرور شما ایجاد میکنند.
در زیر مثالی از اینکه پیام «خطا در ایجاد اتصال پایگاه داده» شبیه مرورگر شما است، آمده است. کل صفحه خالی است زیرا هیچ داده ای برای ارائه صفحه قابل بازیابی نیست، زیرا اتصال به درستی کار نمی کند. این نه تنها جلوی سایت شما را می شکند، بلکه از دسترسی شما به داشبورد وردپرس نیز جلوگیری می کند.
5. پلاگین ها و تم های خود را بررسی کنید
پلاگین ها و تم های شخص ثالث به راحتی می توانند 500 خطای داخلی سرور ایجاد کنند. بسیاری از مواقع باید بلافاصله پس از نصب یک مورد جدید یا اجرای بهروزرسانی، خطا را مشاهده کنید. این یکی از دلایلی است که ما همیشه استفاده از یک محیط مرحلهبندی برای بهروزرسانی یا حداقل اجرای بهروزرسانیها را یک به یک توصیه میکنیم. در غیر این صورت، اگر با خطای سرور داخلی 500 مواجه شدید، ناگهان در حال تقلا هستید تا بفهمید کدام یک باعث آن شده است.
چند راه برای عیب یابی این مشکل غیرفعال کردن همه افزونه های خود است. به یاد داشته باشید، اگر به سادگی یک افزونه را غیرفعال کنید، هیچ داده ای را از دست نخواهید داد. اگر همچنان میتوانید به سرپرست خود دسترسی داشته باشید، یک راه سریع برای انجام این کار این است که به «Plugins» بروید و «غیرفعال کردن» را از منوی اقدامات انبوه انتخاب کنید. با این کار تمام افزونه های شما غیرفعال می شود.
اگر این مشکل را برطرف کرد، باید مقصر را پیدا کنید. شروع به فعال سازی یک به یک کنید و پس از هر بار فعال سازی سایت را مجددا بارگذاری کنید. هنگامی که بازگشت خطای سرور داخلی 500 را مشاهده کردید، پلاگین بد رفتاری را پیدا کردید. سپس می توانید برای کمک با توسعه دهنده افزونه تماس بگیرید یا یک بلیط پشتیبانی در مخزن وردپرس ارسال کنید.
اگر نمی توانید وارد ادمین وردپرس شوید، می توانید به سرور خود FTP کنید و نام پوشه پلاگین های خود را به چیزی مانند plugins_old تغییر دهید. سپس دوباره سایت خود را بررسی کنید. اگر کار کرد، باید هر افزونه را یکی یکی تست کنید. نام پوشه پلاگین خود را به «plugins» تغییر دهید و سپس نام هر پوشه افزونه را در داخل آن، یکی یکی تغییر دهید تا زمانی که آن را پیدا کنید. همچنین می توانید سعی کنید ابتدا این را در یک سایت استیجینگ تکرار کنید.
همیشه مطمئن شوید که افزونه ها، تم ها و هسته وردپرس شما به روز هستند. و بررسی کنید که از نسخه پشتیبانی شده PHP مطمئن شوید. اگر مشخص شد که با کد بد در یک افزونه تضاد دارد، ممکن است لازم باشد یک توسعه دهنده وردپرس را برای رفع مشکل وارد کنید.
6. Core وردپرس را مجددا نصب کنید
گاهی اوقات فایل های اصلی وردپرس به خصوص در سایت های قدیمی تر ممکن است خراب شوند. در واقع آپلود مجدد فقط هسته وردپرس بدون تأثیر بر افزونه ها یا تم ها بسیار آسان است.
7. خطای مجوزها
یک خطای مجوز با یک فایل یا پوشه در سرور شما نیز می تواند باعث بروز خطای سرور داخلی 500 شود. در اینجا چند توصیه معمول برای مجوزها در مورد مجوزهای پرونده و پوشه در وردپرس وجود دارد:
- همه فایل ها باید 644 (-rw-r-r–) یا 640 باشند.
- همه دایرکتوری ها باید 755 (drwxr-xr-x) یا 750 باشند.
- به هیچ دایرکتوری نباید ۷۷۷ داده شود، حتی دایرکتوری های آپلود.
- سخت شدن: wp-config.php همچنین می تواند روی 440 یا 400 تنظیم شود تا دیگر کاربران روی سرور نتوانند آن را بخوانند.
برای توضیح بیشتر به مقاله Codex WordPress در مورد تغییر مجوزهای فایل مراجعه کنید .
شما به راحتی می توانید مجوزهای فایل خود را با یک سرویس گیرنده FTP مشاهده کنید (همانطور که در زیر مشاهده می کنید). همچنین میتوانید با تیم پشتیبانی میزبان وردپرس خود تماس بگیرید و از آنها بخواهید که به سرعت مجوزهای فایل GREP را در پوشهها و فایلهای شما دریافت کنند تا مطمئن شوید که آنها به درستی تنظیم شدهاند.
8. محدودیت حافظه PHP
خطای 500 سرور داخلی نیز می تواند ناشی از اتمام محدودیت حافظه PHP در سرور شما باشد. می توانید سعی کنید حد را افزایش دهید. دستورالعمل های زیر را در مورد نحوه تغییر این محدودیت در cPanel، Apache، فایل php.ini و wp-config.php
خود دنبال کنید.
محدودیت حافظه PHP را در سی پنل افزایش دهید
اگر روی میزبانی اجرا میکنید که از cPanel استفاده میکند، میتوانید به راحتی آن را از رابط کاربری تغییر دهید. در زیر نرم افزار بر روی “انتخاب نسخه PHP” کلیک کنید.
روی “Switch to PHP Options” کلیک کنید.
سپس می توانید روی ویژگی memory_limit
کلیک کرده و مقدار آن را تغییر دهید. سپس بر روی “ذخیره” کلیک کنید.
محدودیت حافظه PHP را در آپاچی افزایش دهید
فایل .htaccess
یک فایل مخفی ویژه است که حاوی تنظیمات مختلفی است که میتوانید از آنها برای تغییر رفتار سرور استفاده کنید، دقیقاً تا یک سطح خاص دایرکتوری. ابتدا از طریق FTP یا SSH وارد سایت خود شوید، به دایرکتوری ریشه خود نگاهی بیندازید و ببینید آیا .htaccess
فایلی در آنجا وجود دارد یا خیر.
در صورت وجود می توانید آن فایل را ویرایش کنید تا کد لازم برای افزایش محدودیت حافظه PHP را اضافه کنید. به احتمال زیاد روی 64M یا کمتر تنظیم شده است، می توانید این مقدار را افزایش دهید.
php_value memory_limit 128M
محدودیت حافظه PHP را در فایل php.ini افزایش دهید
اگر موارد بالا برای شما کار نکرد، ممکن است سعی کنید فایل php.ini
خود را ویرایش کنید. از طریق FTP یا SSH وارد سایت خود شوید، به دایرکتوری ریشه سایت خود بروید و یک فایل php.ini
را باز یا ایجاد کنید.
اگر فایل قبلاً وجود داشت، سه تنظیمات را جستجو کنید و در صورت لزوم آنها را تغییر دهید. اگر به تازگی فایل را ایجاد کردید، یا تنظیمات در جایی یافت نشد، می توانید کد زیر را جایگذاری کنید. البته می توانید مقادیر را برای رفع نیازهای خود تغییر دهید.
memory_limit = 128M
برخی از هاست های اشتراکی ممکن است نیاز داشته باشند که دستور suPHP را در فایل خود اضافه کنید تا تنظیمات فایل .htaccess
بالا عمل کنند. php.ini
برای انجام این کار، .htaccess
فایل خود را که در ریشه سایت شما نیز قرار دارد ویرایش کنید و کد زیر را به بالای فایل اضافه کنید:
<IfModule mod_suphp.c>
suPHP_ConfigPath /home/yourusername/public_html
</IfModule>
اگر موارد بالا برای شما کار نکرد، ممکن است میزبان شما تنظیمات جهانی را قفل کرده باشد و در عوض آن را برای استفاده از .user.ini
فایلها پیکربندی کرده باشد. برای ویرایش .user.ini
فایل خود، از طریق FTP یا SSH وارد سایت خود شوید، به دایرکتوری ریشه سایت خود بروید و فایلی را باز یا ایجاد .user.ini
کنید. سپس می توانید کد زیر را وارد کنید:
memory_limit = 128M
محدودیت حافظه PHP را در wp-config.php افزایش دهید
آخرین گزینه گزینه ای نیست که ما طرفدار آن هستیم، اما اگر همه چیز شکست خورد، می توانید آن را امتحان کنید. ابتدا از طریق FTP یا SSH وارد سایت خود شوید و فایل wp-config.php خود را که معمولاً در ریشه سایت شما قرار دارد، پیدا کنید.
کد زیر را به بالای فایل wp-config.php
خود اضافه کنید:
define('WP_MEMORY_LIMIT', '128M');
9. مشکل با فایل htaccess
ابتدا از طریق FTP یا SSH وارد سایت خود شوید و نام .htaccess
فایل خود را به .htaccess_old
به طور معمول برای ایجاد مجدد این فایل می توانید به سادگی پیوندهای ثابت خود را در وردپرس دوباره ذخیره کنید . با این حال، اگر در وسط یک خطای سرور داخلی 500 قرار دارید، به احتمال زیاد نمی توانید به سرپرست وردپرس خود دسترسی پیدا کنید، بنابراین این یک گزینه نیست. بنابراین می توانید یک فایل .htaccess
جدید ایجاد کنید و محتویات زیر را وارد کنید. سپس آن را در سرور خود آپلود کنید.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
10. خطاهای کدنویسی یا نحوی در اسکریپت CGI/Perl
500 خطا ناشی از خطا در CGI و Perl بسیار کمتر از گذشته است. اگرچه هنوز هم قابل ذکر است، مخصوصاً برای کسانی که از cPanel استفاده می کنند که در آن تعداد زیادی اسکریپت CGI با یک کلیک هنوز استفاده می شود. همانطور که AEM در Stack Overflow می گوید:
CGI با طیف گسترده ای از فناوری های برنامه نویسی وب، از جمله PHP، برنامه های افزودنی مختلف آپاچی مانند mod_perl، جاوا با طعم ها و فریمورک های مختلف از جمله Java EE، Struts، Spring و غیره، چارچوب های مبتنی بر پایتون مانند Django، Ruby on Rails و بسیاری جایگزین شده است. سایر فریمورک های Ruby و فناوری های مختلف مایکروسافت.
در اینجا چند نکته در هنگام کار با اسکریپت های CGI وجود دارد:
- هنگام ویرایش، همیشه از یک ویرایشگر متن ساده مانند Atom Sublime یا Notepad++ استفاده کنید. این تضمین می کند که آنها در قالب ASCII باقی می مانند.
- اطمینان حاصل کنید که مجوزهای صحیح chmod 755 در اسکریپت ها و دایرکتوری های CGI استفاده می شود.
- اسکریپت های CGI خود را در حالت ASCII (که می توانید در ویرایشگر FTP خود انتخاب کنید) در پوشه cgi-bin سرور خود آپلود کنید.
- تأیید کنید که ماژول های Perl مورد نیاز برای اسکریپت خود نصب و پشتیبانی می شوند.
خلاصه
500 خطای داخلی سرور همیشه ناامید کننده هستند، اما امیدواریم اکنون چند راه اضافی برای عیب یابی آنها می دانید تا به سرعت سایت خود را دوباره راه اندازی و اجرا کنید. به یاد داشته باشید، معمولاً این نوع خطاها به دلیل پلاگین های شخص ثالث، خطاهای مرگبار PHP، مشکلات اتصال پایگاه داده، مشکلات مربوط به فایل htaccess. یا محدودیت های حافظه PHP شما، و گاهی اوقات وقفه های زمانی PHP ایجاد می شوند.
آیا چیزی بود که ما از دست دادیم؟ شاید نکته دیگری در مورد عیب یابی 500 خطای سرور داخلی داشته باشید. اگر چنین است، در زیر در نظرات به ما اطلاع دهید.