خطای سرور داخلی یکی از رایج ترین خطاهای وردپرس است. از آنجایی که این خطا اطلاعات دیگری را ارائه نمی دهد، بسیاری از مبتدیان آن را بسیار ناامید کننده می دانند.
در این مقاله به شما نشان می دهیم که چگونه به راحتی خطای 500 سرور داخلی در وردپرس را برطرف کنید.
خطای 500 سرور داخلی چیست؟
خطای سرور داخلی 500 یک خطای رایج وب سرور است. این مختص وردپرس نیست و می تواند برای هر وب سایتی اتفاق بیفتد.
500 در پیام خطا از نظر فنی یک کد خطای HTTP است. جستجوی این کد فقط توضیحات استاندارد آن را نشان می دهد:
“کد پاسخ خطای 500 داخلی سرور نشان می دهد که سرور با شرایط غیرمنتظره ای مواجه شده است که مانع از انجام درخواست شده است.”
این یک پیغام خطای کلی است که به این معنی است که سرور نمی تواند پیام خطای بهتر و مفیدتری را هنگام مواجهه با این مشکل اختصاص دهد.
بسته به اینکه وب سایت شما از کدام نرم افزار وب سرور (Nginx یا Apache) استفاده می کند و از کدام مرورگر استفاده می کند، صفحه خطا متفاوت به نظر می رسد.
صفحه خطای آپاچی چگونه ممکن است به نظر برسد:
اگر از Nginx و Google Chrome استفاده می کنید ممکن است متفاوت به نظر برسد.
همچنین اگر Google Chrome نتواند یک صفحه خطا را برای نمایش پیدا کند، متفاوت به نظر می رسد:
برای مبتدیان، این می تواند فوق العاده خسته کننده باشد. هیچ سرنخ یا پیامی آنها را در جهت درست برای رفع سریع آن راهنمایی نمی کند.
پرسیدن چگونگی رفع خطای سرور داخلی مانند این است که از پزشک خود بپرسید که چگونه دردی را که تجربه می کنید برطرف کند بدون اینکه به او بگویید درد کجاست.
با این حال، اگر دلایل رایجی را که باعث ایجاد این خطا میشوند، میدانید، میتوانید آنها را یکی یکی برطرف کنید تا بدون شکستن چیزی، خطا را برطرف کنید.
چه چیزی باعث خطای سرور داخلی در وردپرس می شود؟
خطای سرور داخلی در وردپرس اغلب به دلیل یک فایل .htaccess خراب، پلاگین های کدگذاری ضعیف یا تم وردپرس فعال شما ایجاد می شود.
سایر دلایل احتمالی خطای سرور داخلی در وردپرس محدودیت حافظه PHP یا فایل های اصلی وردپرس خراب است.
در برخی شرایط، خطای سرور داخلی ممکن است تنها زمانی نشان داده شود که میخواهید به قسمت مدیریت وردپرس دسترسی پیدا کنید در حالی که بقیه سایت به خوبی کار میکند.
همانطور که گفته شد، اکنون بیایید نگاهی به نحوه عیب یابی خطای سرور داخلی در وردپرس بیندازیم.
رفع خطای 500 سرور داخلی در وردپرس
قبل از شروع عیب یابی، مطمئن شوید که یک نسخه پشتیبان کامل از وردپرس از وب سایت خود دارید.
اگر به بخش مدیریت وردپرس دسترسی دارید، می توانید از افزونه پشتیبان وردپرس برای ایجاد یک نسخه پشتیبان کامل از وب سایت خود استفاده کنید. توصیه می کنیم از Duplicator برای رسیدگی به این موضوع استفاده کنید.
از طرف دیگر، اگر به قسمت مدیریت وردپرس دسترسی ندارید، می توانید به صورت دستی یک نسخه پشتیبان از وردپرس با استفاده از phpMyAdmin و یک کلاینت FTP ایجاد کنید.
پس از آن می توانید مراحل زیر را برای عیب یابی و رفع خطای سرور داخلی وب سایت خود دنبال کنید.
کش وردپرس و مرورگر را پاک کنید
مرورگرها و افزونه های کش وردپرس شما گاهی اوقات می توانند به اشتباه یک کپی کش شده از یک صفحه خطا را ذخیره کنند.
ساده ترین راه برای رفع این مشکل این است که ابتدا کش مرورگر خود را پاک کنید.
پس از آن، اگر به قسمت مدیریت وردپرس وب سایت خود دسترسی دارید، می توانید با مراجعه به صفحه تنظیمات افزونه کش خود، کش وردپرس را خالی کنید.
بررسی فایل htaccess. خراب
فایل .htaccess یک فایل پیکربندی سرور است که توسط وردپرس برای تنظیم تغییر مسیرها نیز استفاده می شود.
یکی از رایج ترین دلایل خطای سرور داخلی، فایل خراب htaccess است.
ساده ترین راه برای رفع این مشکل این است که به سادگی از صفحه تنظیمات » پیوندهای دائمی در قسمت مدیریت وردپرس دیدن کنید و سپس روی دکمه «ذخیره تغییرات» بدون هیچ تغییری کلیک کنید.
وردپرس اکنون سعی می کند فایل .htaccess شما را به روز کند یا یک فایل جدید برای شما ایجاد کند. اکنون می توانید از وب سایت خود بازدید کنید تا ببینید آیا این مشکل خطای سرور داخلی را برطرف کرده است یا خیر.
اگر همچنان میتوانید خطا را ببینید، باید مطمئن شوید که وردپرس قادر به تولید یا نوشتن فایل htaccess. بوده است.
گاهی اوقات، به دلیل مجوزهای فایل و دایرکتوری، وردپرس ممکن است نتواند فایل htaccess. شما را ایجاد یا بنویسد.
اکنون می توانید سعی کنید فایل htaccess. را به صورت دستی جایگزین کنید. ابتدا باید با استفاده از FTP یا برنامه File Manager زیر کنترل پنل حساب میزبانی خود وارد وب سایت خود شوید.
در مرحله بعد، باید نام فایل .htaccess اصلی خود را به چیزی شبیه به .htaccess_old تغییر دهید. این به شما امکان می دهد فایل را به عنوان پشتیبان نگه دارید، اما وردپرس آن را تشخیص نمی دهد.
برای تغییر نام فایل htaccess، باید با استفاده از FTP یا برنامه File Manager در داشبورد cPanel حساب میزبانی خود وارد سایت خود شوید.
پس از اتصال، فایل htaccess. در همان دایرکتوری قرار می گیرد که پوشه هایی مانند wp-content، wp-admin و wp-includes را می بینید.
به سادگی روی فایل .htaccess کلیک راست کرده و نام آن را به .htaccess_old تغییر دهید.
در مرحله بعد، باید یک فایل htaccess جدید ایجاد کنید.
در داخل پوشه ریشه سایت خود، کلیک راست کرده و سپس گزینه «Create new file» را در سرویس گیرنده FTP یا برنامه مدیریت فایل خود انتخاب کنید.
نام این فایل جدید را .htaccess بگذارید و برای ذخیره آن روی «OK» کلیک کنید.
اکنون، این فایل .htaccess در حال حاضر خالی است و باید قوانین بازنویسی پیش فرض وردپرس را به آن اضافه کنید.
به سادگی بر روی فایل کلیک راست کرده و سپس “View/Edit” را در سرویس گیرنده FTP یا برنامه مدیریت فایل خود انتخاب کنید.
فایل خالی در یک ویرایشگر متن ساده مانند Notepad یا TextEdit باز می شود.
حال باید کد زیر را در داخل آن کپی و پیست کنید:
# 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
این کد مجموعه قوانین پیش فرضی است که توسط وردپرس استفاده می شود. فراموش نکنید که تغییرات خود را ذخیره کنید و فایل را دوباره به سرور آپلود کنید.
اکنون می توانید از وب سایت خود بازدید کنید تا ببینید آیا این مشکل خطای سرور داخلی را برطرف کرده است یا خیر.
اگر این کار را کرد، پس به خودتان ضربه بزنید زیرا خطای سرور داخلی را برطرف کرده اید.
مهم: قبل از اینکه به کارهای دیگر ادامه دهید، مطمئن شوید که در قسمت مدیریت وردپرس به صفحه تنظیمات » پیوندهای ثابت رفته و بدون ایجاد هیچ تغییری روی دکمه ذخیره کلیک کنید. این فایل htaccess. را با قوانین بازنویسی مناسب برای شما بازسازی می کند تا اطمینان حاصل شود که صفحات پست شما خطای 404 را بر نمی گرداند.
اگر بررسی راه حل فایل .htaccess خراب برای شما کار نکرد، پس باید به خواندن این مقاله ادامه دهید.
افزایش محدودیت حافظه PHP
گاهی اوقات، اگر یک اسکریپت تمام محدودیت حافظه PHP را مصرف کند، خطای سرور داخلی ممکن است رخ دهد.
ساده ترین راه برای افزایش محدودیت حافظه PHP، ویرایش فایل wp-config.php است. اگر مبتدی هستید هنگام انجام این کار مراقب باشید. شما می خواهید این دستورالعمل ها را به دقت دنبال کنید زیرا حتی اشتباهات کوچک در فایل های اصلی وردپرس می تواند سایت شما را خراب کند.
برای شروع، به سادگی با استفاده از یک سرویس گیرنده FTP یا برنامه File Manager در کنترل پنل حساب میزبانی خود به وب سایت وردپرس خود متصل شوید.
فایل wp-config.php را در پوشه اصلی وب سایت خود خواهید یافت. روی آن کلیک راست کرده و «Download» را انتخاب کنید. این اطمینان حاصل می کند که در صورت بروز مشکل، یک نسخه پشتیبان از فایل دارید.
وقتی آن را ذخیره کردید، میتوانید روی آن کلیک راست کرده و «View/Edit» را انتخاب کنید.
در داخل فایل wp-config.php، باید کد زیر را درست بالای خط That’s all, stop editing! Happy publishing اضافه کنید،
define( 'WP_MEMORY_LIMIT', '256M' );
برای جزئیات بیشتر، آموزش ما در مورد نحوه افزایش محدودیت حافظه PHP در وردپرس را ببینید.
توجه: اگر 256M مشکل را حل نکرد، سعی کنید آن را به 512M افزایش دهید.
اگر خطای سرور داخلی را تنها زمانی که میخواهید وارد ادمین وردپرس خود شوید یا تصویری را در wp-admin آپلود میکنید، مشاهده میکنید، باید با دنبال کردن این مراحل محدودیت حافظه را افزایش دهید:
- یک فایل متنی خالی در رایانه خود ایجاد کنید و نام آن را php.ini بگذارید
- این کد را در آنجا قرار دهید: memory=256MB
- فایل را ذخیره کنید
- آن را با استفاده از FTP در پوشه /wp-admin/ خود آپلود کنید
اگر افزایش محدودیت حافظه مشکل را برای شما برطرف کرد، پس فقط به طور موقت مشکل را برطرف کرده اید. شما هنوز باید علتی را پیدا کنید که محدودیت حافظه شما را خسته می کند.
این می تواند یک افزونه با کدگذاری ضعیف یا حتی یک تابع تم باشد. ما قویاً توصیه می کنیم که از شرکت میزبانی وب وردپرس خود بخواهید که به گزارش های سرور نگاه کند تا به شما در یافتن تشخیص دقیق کمک کند.
- اگر افزایش محدودیت حافظه PHP مشکل را برای شما حل نکرد، در عیب یابی بیشتری هستید.
- تمام افزونه های وردپرس را غیرفعال کنید
اگر هیچ یک از راه حل های بالا برای شما کار نکرد، به احتمال زیاد این خطا توسط یک افزونه خاص نصب شده در وب سایت شما ایجاد شده است.
همچنین ممکن است ترکیبی از پلاگین هایی باشد که با یکدیگر خوب بازی نمی کنند.
اگر می توانید به قسمت مدیریت وردپرس وب سایت خود دسترسی پیدا کنید، می توانید به سادگی به صفحه افزونه ها بروید و همه افزونه های وردپرس را غیرفعال کنید.
با این حال، اگر نمی توانید به بخش مدیریت وردپرس دسترسی پیدا کنید، می توانید تمام افزونه های وردپرس را با استفاده از FTP غیرفعال کنید.
به سادگی با استفاده از یک سرویس گیرنده FTP یا برنامه مدیریت فایل در کنترل پنل حساب میزبانی خود به وب سایت وردپرس خود متصل شوید.
پس از اتصال، به پوشه /wp-content/ بروید و نام پوشه plugins را به plugins.deactivated تغییر دهید.
وردپرس به دنبال افزونه ها در پوشه افزونه ها می گردد. اگر پوشه افزونه ها پیدا نشد، به طور خودکار همه افزونه ها را غیرفعال می کند.
اکنون می توانید از وب سایت خود بازدید کنید تا ببینید آیا با این کار خطای سرور داخلی وب سایت شما برطرف شده است یا خیر.
برای بازیابی همه افزونه های خود، می توانید به سادگی نام پوشه “plugins.deactivated” را به پلاگین ها تغییر دهید.
افزونه های شما اکنون بازیابی می شوند، اما همچنان غیرفعال می شوند.
اکنون می توانید افزونه ها را به صورت جداگانه فعال کنید و از وب سایت خود بازدید کنید تا بفهمید کدام افزونه باعث خطای سرور داخلی می شود.
برای جزئیات بیشتر، راهنمای ما در مورد نحوه غیرفعال کردن تمام افزونه های وردپرس بدون WP-Admin را ببینید.
اگر غیرفعال کردن همه افزونه ها خطای سرور داخلی وب سایت شما را برطرف نکرد، به خواندن ادامه دهید.
به یک قالب پیش فرض وردپرس بروید
یکی از دلایل احتمالی خطای سرور داخلی می تواند برخی از کدها در قالب وردپرس شما باشد.
برای تعیین اینکه آیا این مورد است، باید قالب خود را به یک تم پیش فرض وردپرس تغییر دهید.
اگر به قسمت مدیریت وردپرس دسترسی دارید، به صفحه نمایش » Themes بروید. اگر یک تم پیشفرض از قبل نصب کردهاید، میتوانید به سادگی روی دکمه فعالسازی کلیک کنید تا تم را تغییر دهید.
اگر یک تم پیشفرض نصب نکردهاید، میتوانید روی دکمه «افزودن جدید» در بالا کلیک کنید و یک تم پیشفرض (بیست بیست و سه، بیست و بیست و دو و غیره) را نصب کنید.
اگر به قسمت مدیریت وردپرس دسترسی ندارید، همچنان میتوانید به یک موضوع پیشفرض بروید.
به سادگی با استفاده از یک سرویس گیرنده FTP به وب سایت وردپرس خود متصل شوید و به پوشه /wp-content/ بروید.
برای انتخاب پوشه تم ها کلیک راست کرده و آن را به عنوان پشتیبان در رایانه خود دانلود کنید.
در مرحله بعد، باید پوشه تم ها را از وب سایت خود حذف کنید. پس از حذف، ادامه دهید و یک پوشه تم جدید ایجاد کنید.
پوشه تم های جدید شما کاملا خالی خواهد بود، به این معنی که در حال حاضر هیچ تم وردپرسی نصب نکرده اید.
در مرحله بعد، باید به دایرکتوری تم های وردپرس مراجعه کنید و یک تم پیش فرض وردپرس را در رایانه خود دانلود کنید.
سپس مرورگر شما موضوع را به عنوان یک فایل فشرده در رایانه شما دانلود می کند.
فایل را در رایانه خود پیدا کنید و سپس آن را از حالت فشرده خارج کنید. کاربران ویندوز می توانند فایل را با کلیک راست بر روی آن و سپس انتخاب «Extract All» از حالت فشرده خارج کنند. کاربران مک می توانند روی فایل فشرده دوبار کلیک کنند تا آن را استخراج کنند.
اکنون یک پوشه حاوی قالب وردپرس خود خواهید دید.
به سرویس گیرنده FTP یا File Manager خود برگردید و این پوشه را در پوشه خالی تم ها آپلود کنید.
پس از آپلود، وردپرس به طور خودکار شروع به استفاده از تم پیش فرض می کند.
اکنون می توانید از وب سایت خود بازدید کنید تا ببینید آیا با این کار خطای سرور داخلی برطرف شده است یا خیر.
اگر این کار نکرد، میتوانید تمهای وردپرس خود را از پشتیبانگیری مجدد آپلود کنید یا به موضوعی که استفاده میکردید برگردید.
نگران نباش هنوز چند کار دیگر وجود دارد که می توانید برای رفع خطا انجام دهید.
بارگذاری مجدد فایل های اصلی
اگر گزینههای افزونه و تم خطای سرور داخلی را برطرف نکردند، پس ارزش آن را دارد که پوشههای /wp-admin/ و /wp-includes/ را از یک نصب جدید وردپرس دوباره آپلود کنید.
این کار هیچ یک از اطلاعات شما را حذف نمی کند، اما در صورت خراب شدن فایل ممکن است مشکل را حل کند.
ابتدا باید به وب سایت WordPress.org مراجعه کرده و روی دکمه «دانلود» کلیک کنید.
با این کار فایل فشرده وردپرس در رایانه شما دانلود می شود.
ادامه دهید و فایل فشرده را استخراج کنید. در داخل آن، یک پوشه وردپرس پیدا خواهید کرد.
در مرحله بعد، باید با استفاده از یک سرویس گیرنده FTP به وب سایت وردپرس خود متصل شوید.
پس از اتصال، به پوشه ریشه وب سایت خود بروید. این پوشه ای است که پوشه های wp-admin، wp-includes و wp-content را در داخل خود دارد.
در ستون سمت چپ، پوشه وردپرس را در رایانه خود باز کنید.
اکنون باید تمامی فایل های داخل پوشه وردپرس را انتخاب کرده و در وب سایت خود آپلود کنید.
کلاینت FTP شما اکنون آن پوشه ها را به سرور شما منتقل می کند.
از شما می پرسد که آیا می خواهید فایل ها را بازنویسی کنید یا خیر. گزینه “Overwrite” را انتخاب کنید و سپس “Always use this action” را انتخاب کنید.
مشتری FTP ما اکنون فایل های قدیمی وردپرس شما را با نسخه های جدید و تازه جایگزین می کند.
اگر فایل های وردپرس شما خراب بود، این مرحله خطای سرور داخلی را برای شما برطرف می کند.
Debug Logs را در وردپرس فعال کنید
وردپرس دارای یک سیستم داخلی برای نگهداری گزارش ها برای اشکال زدایی است.
با استفاده از افزونه WP Debugging می توانید آن را روشن کنید. برای جزئیات بیشتر، راهنمای ما در مورد نحوه نصب افزونه وردپرس را ببینید.
پس از فعال شدن، این افزونه گزارش های اشکال زدایی را در وب سایت وردپرس شما فعال می کند.
اگر به بخش مدیریت وب سایت وردپرس خود دسترسی ندارید، می توانید با افزودن کد زیر به فایل wp-config.php، اشکال زدایی را فعال کنید:
define( 'WP_DEBUG', true); define( 'WP_DEBUG_LOG', true);
هنگامی که گزارشهای اشکالزدایی را روشن کردید، میتوانید این گزارشها را با استفاده از یک سرویس گیرنده FTP و پیمایش به پوشه /wp-content/ مشاهده کنید.
می توانید فایل گزارش اشکال زدایی را در یک ویرایشگر متن باز کنید و لیستی از خطاها و هشدارهایی را که در وب سایت شما رخ می دهد به شما نشان می دهد.
برخی از خطاها و هشدارها می توانند حوادث بی ضرری باشند که ممکن است نیازی به تعمیر نداشته باشند. با این حال، اگر یک خطای سرور داخلی در وب سایت خود مشاهده می کنید، ممکن است شما را در جهت درست راهنمایی کنند.
از ارائه دهنده هاست خود بپرسید
اگر همه روشها در رفع خطای سرور داخلی در وبسایت شما موفق نشدند، زمان آن رسیده است که کمک بیشتری دریافت کنید.
با تیم پشتیبانی میزبانی وب خود تماس بگیرید، آنها می توانند گزارش های سرور را بررسی کرده و علت اصلی خطا را پیدا کنند.