ممکن است در روز با خطاهای رایج در وردپرس مواجه شویم اما جای نگرانی نیست! زیرا هر کدام از این خطاها راهحلی دارند که به سادگی در دسترس است. یکی از این خطاهای رایج خطای 500 در وردپرس یا HTTP 500 Internal Server است که با مشاهده آن ممکن است وحشت کنید و احساس کنید سایتتان به طور کامل از دست رفته. اما اینگونه نیست، نگران نباشید. امروز با این خطا و راهحل آن آشنا میشویم.
خطای 500 در وردپرس
خطای 500 در وردپرس چیست؟
خطای 500 در وردپرس هنگامی رخ میدهد که پروتکل Http یافت نشود. به معنای دقیقتر سرور به درخواست Http پاسخ داده اما نمیتواند آن را بازیابی کند به همین دلیل ما را با خطای 500 در وردپرس مواجه میکند. در واقع یعنی سرور با مشکل رو به روست. البته همینجا باید خدمت شما عرض کنم که این خطا تنها مربوط به وردپرس نیست و در سایر سیستمهای سایتساز نیز ممکن است مشاهده شود.
ما امروز اینجا هستیم تا در وهله اول دلایل رخ دادن خطای 500 در وردپرس را بررسی کنید و سپس به بررسی راهحلهای آن بپردازیم. زیرا برای حل هر مشکلی بهتر است اول دلیل رخ دادن آن را بیابیم تا ارتباط بهتری با آن برقرار کرده و سپس راهحل را بهتر بیابیم.
خطای 500 در وردپرس به چه علت رخ میدهد؟
خطای 500 یک خطای سرور عمومی است. چندین گزینه است که میتواند به یک سرور با وضعیت مشخصی پاسخ دهد. برخلاف تصور عموم به وجود آمدن خطای 500 در وردپرس یک اتفاق خوب است زیرا به شما نشان میدهد که سرور دچار محدودیت است. حال در این مقاله به شما میگوییم که این خطا از جانب کدام بخشها است و چگونه حل میشود.
1- وجود خطا در فایل htaccess.
اولین موردی که میتوانیم در بروز این خطا به آن شک کنیم همین فایل htaccess. است. پس به شما هم پیشنهاد میکنیم در همین ابتدا اول به سراغ این فایل بروید. اضافه شدن یک کارکتر اضافی به فایل htaccess. میتواند باعث بروز خطای 500 در وردپرس شود. در این مواقع باید سعی کنید فایل htaccess. جدیدی را بسازید. برای ساخت آن کافیست فایل فعلی را حذف کرده، سپس به قسمت پیوندهای یکتا بروید و بر روی ذخیره تغییرات کلیک کنید تا مجدد ساخته شود.
2- وجود خطا در فایل wp-config.php
زمانی که دستور یا کدی در این فایل ایجاد شود، ممکن است با خطای 500 در وردپرس مواجه شوید. با مشاهده error logs میتوانید خطای موجود در این فایل را یافته و به حال آن بپردازید. چنانچه از بخش error logs نمیتوانید کاری کنید، به راحتی با مراجعه به فایل wp-config.php میتوانید کدهای ناشناخته را حذف کنید. (البته اگر به این فایل و کدها مسلط هستید).
3- مجوزهای ناقص پرونده
اگر یک اسکریپت php باید در یک فولدر قرار گیرد اما امکان اجرای php را ندارد، شما را با خطای 500 در وردپرس رو به رو میکند. این مشکل به راحتی با تغییر سطح دسترسی و مجوز آن پوشه حل میشود. این مورد در هاست و با تغییر سطح دسترسی امکانپذیر است.
4- وقفه در کار سرور یا اسکریپت
وقفه یا از کار افتادن سرور یا اسکریپتی در سایت مهمترین دلیل به وجود آمدن خطای 500 در وردپرس است. معمولا این اتفاق وسط انجام یک فعالیت پیش میآید. زمانی که با این مشکل مواجه میشوید پیشنهاد میشود که بصورت دستی حافظه php را افزایش دهید. این کار در
php.ini ، wp-config.php و htaccess. انجام میشود. چنانچه خودتان نتوانستید این کار را انجام دهید به پشتیبانی سرور اطلاع داده تا این مشکل را برایتان برطرف کند.
5- خطای php
گاهی اوقات خطای 500 فقط و فقط در هنگام ورود به پیشخوان وردپرس مشاهده میشود. در اینجا ممکن است شوکه شوید که چگونه سایت باز میشود اما پیشخوان وردپرس با چنین خطایی مواجه است؟! اینجا یعنی مشکل در حافظه php است. تکلیف چیست؟ باید این حافظه را افزایش دهید و اینکار با کمک فایل php.ini امکانپذیر است. قبلا آموزش افزایش حافظه با php.ini را خدمت شما گفتیم به همین دلیل از توضیحات اضافه پرهیز میکنیم و از شما دعوت میکنیم به آموزش مربوطه مراجعه کنید تا اگر مشکل شما در این زمینه است، به راحتی آن را در عرض چند ثانیه رفع نمایید.
6- یک افزونه مخرب
یک افزونه در سایت میتواند باعث به وجود آمدن خطای php شود. با غیرفعال کردن آن سعی در خطایابی داشته باشید یا بهترین راه این است که افزونه مشابهی را جایگزین کنید. اما چگونه باید افزونه مخرب را یافت؟ تمامی افزونهها را غیرفعال کنید و سپس یک به یک آنها را فعال کنید تا افزونه مخرب را بیابید. از طرفی میتوانید در هاست خود با تغییر نام پوشه افزونهها، تمامی آنها را بصورت یکجا غیرفعال کنید و بررسی کنید که آیا مشکل از سمت افزونه است یا خیر.
7- بررسی قالب موجود
گاهی مشکل میتواند به دلیل ناسازگاری قالب و مشکلاتی که در آن وجود دارد پیش آید. برای این منظور و اینکه بتوانید مشکل را ریشهیابی کنید میتوانیم غیرفعال کردن قالب را به شما پیشنهاد دهیم. آن را غیرفعال کرده و قالب پیشفرض را فعال کنید. اینگونه اگر قالب مورد نظر باعث بروز خطا شده باشد، آن را میتوان یافت.
8- نصب مجدد وردپرس
حتما با خواندن تیتر این گزینه، کمی احساس ترس و خطر کردهاید! اما جای هیچ گونه نگرانی نیست. منظور ما این نیست که سایت خود را پاک کنید، تنها کافیست یک وردپرس جدید دانلود کرده و دو پوشه wp-content و wp-config.php را از آن حذف کنید. حال پوشه را بصورت فشرده درآورده و بارگذاری نمایید. حال پوشه را از حالت فشرده خارج کنید تا جایگزین موارد قبلی شود.
9- تنها راه باقیمانده: تماس با پشتیبانی هاست
وقتی تمامی موارد بالا را بررسی میکنیم و هیچ کدام دلیلی برای خطای 500 در وردپرس نیستند، یعنی وقت آن رسیده تا با پشتیبانی هاست خود تماس بگیریم. مشکل را به آنها گزارش دهید تا بررسی کنند. این آخرین راه پیشنهادی ما برای رفع خطای 500 در وردپرس است!
رعایت نکات ضروری در رفع خطای 500 در وردپرس
روشهایی که در بالا گفتیم در مورد اتفاقاتی بود که ممکن است سایت وردپرسی با آن مواجه شود و خطای 500 در وردپرس را ظاهر کند. حال باید به دنبال راهحلهای قطعی باشیم. نظر شما را به این راهحلها جلب میکنم.
1- error logs را چک کنید
چنانچه error logs را در سرور خود فعال کرده باشید، میتوانید تمامی موارد ایجاد شده در آن را مشاهده کنید. در این فایل تمامی خطاهای موجود را با آدرس و نشانی به شما نشان میدهد. فقط کافیست فایل آن را در یک ویرایشگر متنی باز کنید و به دنبال آدرس خطاها بروید. با کمی بررسی و جستجو میتوانید مشکل اصلی را یافته و حل کنید.
2- خطاهای اخیر در فایل error logs را بررسی کنید
حال که فایل error logs را پیدا کردید و آن را در ادیتور باز کردید، اسکرول کرده و به انتهای صفحه مراجعه کنید. در انتها خطاهای اخیر را مشاهده میکنید.
3- ریشهیابی کنید
تا منبع و بخش اصلی که درگیر خطا شده را پیدا نکنیم، نمیتوانیم مشکل را حل کنیم. پس در درجه اول باید به بررسی منبع و بخش اصلی خطا باشیم. جایی که دچار این مشکل شده است را بیابید و به رفع مشکل آن بپردازید. شاید این مشکل با غیرفعال شدن یک افزونه به راحتی قابل حل باشد که معمولا اینگونه است.
نتیجه گیری
همیشه وقتی با خطایی مواجه میشوید، تصمیم بگیرید اول آن را ریشهیابی کنید! چرا خطای 500 در سایت من مشاهده میشود؟
پس از آن به دنبال راهحل برای آن بگردید. 9 مرحله برای ریشهیابی و حل خطای 500 در وردپرس خدمت شما گفتیم و همچنین سه مرحله که باید به آن توجه شایانی کنید:
- بررسی فایل error logs
- با کمک inspect element میتوانید خطاهای سایت را در حالت آنلاین ببینید.
- ریشهیابی و یافتن منبع خطاها
رامین رونیا 2 سال عضو همیار وردپرس
با سلام
یه مشکلی توی سایت بوجود اومده داخل سایت که میشم هر جایی کلیک میکنم یه صفحه سیاه میاد فقط با ریفرش برطرف میشه و دوباره میاد. این مشکل بعد از نصب افزونه ultimate member بوجود اومد ولی با اینکه حذفش کردم همچنان همین مشکل هست .
سید سجاد غلام پور 3 سال عضو همیار وردپرس
سلام
با یک مرورگر دیگه یا incognito تست کنید. اگر از افزونه های کش استفاده میکنید، کش رو خالی کنید.
رامین رونیا 2 سال عضو همیار وردپرس
با سلام ممنون از پاسختان . کش ها رو حذف کردم و با مرورگرهای دیگه و حتی سیستم های دیگه امتحان کردم و موبایل .
همین مشکل هست . افزونه هایی که شک داشتم رو غیر فعال کردم و تست کردم همچنان مشکل هست. میشه ادرس سایت رو مشاهده کنید تا متوجه منظورم بشید. bronze.ir
سید سجاد غلام پور 3 سال عضو همیار وردپرس
سلام
سایتتون رو دیدم! چنین مشکلی مشاهده نکردم
سید سجاد غلام پور 3 سال عضو همیار وردپرس
صفحات بعد رفتم دیدم. کد زیر رو توبخش سفارشی سازی Css اضافی قرار بدید.
html.swipebox-html #swipebox-overlay {
direction: ltr;
display: none;
}
رامین رونیا 2 سال عضو همیار وردپرس
سلام
ممنونم از راهنمایی و کمکت . الان این کد رو اضافه کردم مشکل سیاه شدن صفحه برطرف شد ولی حالا که کلیک میکنم یه صفحه برم اونجا قفل میشه صفحه . میشه الان مشاهده کنید؟
قبلا از راهنمائیتان ممنونم
سید سجاد غلام پور 3 سال عضو همیار وردپرس
سلام مجدد
این مشکل از قالب شماست. به پشتیبان بگید که رفع کنه براتون.
sajadsourisoftware 3 سال عضو همیار وردپرس
محتویات htaccess زیر بهترین محتواست:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
# BEGIN Expire headers
ExpiresActive On
ExpiresDefault “access plus 1 month”
ExpiresByType image/x-icon “access plus 1 year”
ExpiresByType image/jpeg “access plus 1 month”
ExpiresByType image/png “access plus 1 month”
ExpiresByType image/gif “access plus 1 month”
ExpiresByType image/jpg “access plus 1 month”
ExpiresByType image/pdf “access plus 6 seconds”
ExpiresByType application/x-shockwave-flash “access plus 1 month”
ExpiresByType text/css “access plus 1 month”
ExpiresByType text/javascript “access plus 1 year”
ExpiresByType application/javascript “access plus 1 year”
ExpiresByType application/x-javascript “access plus 1 year”
ExpiresByType text/html “access plus 600 seconds”
ExpiresByType application/xhtml+xml “access plus 600 seconds”
ExpiresByType font/ttf “access plus 1 year”
ExpiresByType font/woff “access plus 1 year”
# END Expire headers
# BEGIN Cache-Control Headers
Header set Cache-Control “max-age=2592000, public”
Header set Cache-Control “max-age=2592000, public”
Header set Cache-Control “max-age=2592000, private”
Header set Cache-Control “max-age=600, private, must-revalidate”
# END Cache-Control Headers
# BEGIN Turn ETags Off
Header unset ETag
FileETag None
# END Turn ETags Off
# BEGIN Remove Last-Modified Header
Header unset Last-Modified
# END Remove Last-Modified Header
# END WordPress
امیر نبی 3 سال عضو همیار وردپرس
با عرض سلام و وقت بخیر.
شما در خصوص warning زیر اطلاعی دارید؟
PHP Warning: next() expects parameter 1 to be array, null given in /home/……/public_html/wp-includes/class-wp-hook.php on line 291
PHP Warning: current() expects parameter 1 to be array, null given in /home/……../public_html/wp-includes/class-wp-hook.php on line 275
PHP Warning: Invalid argument supplied for foreach() in /home/………/public_html/wp-includes/class-wp-hook.php on line 277
مشکل به این صورت است که سه کد مذکور به صورت سیکل در فایل error-log تکرار میگیردد و در مدت کوتاهی کل فضای هاست( به عنوان مثال 10 گیگ در 15 دقیقه) پر میشود و مدیریت مسدود میگیردد. این خطا برای بسیاری از سایت های وردپرسی ایجاد شده است و در دو لینک زیر مورد بررسی قرار گرفته است و بیشتر با عنوان لاگ حجیم وردپرس شناخته شده است.
wordpress.org/support/topic/class-wp-hook-php-generating-errors-crashing-server/
core.trac.wordpress.org/ticket/39338
هرچند که می توان این warning را با غیر فعال کردن error log برطرف نمود هدف اصلی بررسی ریشه ای این موضوع و علت یابی آن می باشد. از جمله راهکارهای اعلام شده استفاده از پلاگین health-check می باشد که کارساز نیست. در دو لینک مذکور کلیه بحث ها و تبادل نظرها ناتمام باقی مانده و گویا موضوع مبهم است.
شما در این خصوص اطلاعاتی دارید؟
mohammadhp89 2 سال عضو همیار وردپرس
سلام وقت بخیر
میخواستم در خصوص رفع ارور زیر منو راهنمایی کنین:
error_log از نوع text/x-generic
حمیدرضا محمودزاده اردکانی 3 سال عضو همیار وردپرس
با سلام و احترام، ممنون بابت مقاله عالیتون، لطفاً یک مقاله هم در رابطه با ارور 503 هم بگذارید 503 Service Unavailable
با تشکر
بهاره کوهستانی 7 سال عضو همیار وردپرس
سلام
چشم حتما
iman saman 3 سال عضو همیار وردپرس
دوست عزیز من خیلی سرچ کردم ولی افزونه ای پیدا نکردم ایا افزونه ای هست که مطالب دلخواه من تو دسته بندی های مختلف رو تو سایدبار نمایش بده؟ مثالا میخام پست های 1 و 5 و 9 من که تو دسته بندی های مختلفی هستن رو به انتخاب من تو سایدبار نمایش بده.
بهاره کوهستانی 7 سال عضو همیار وردپرس
سلام
هر کدوم از سه افزونه زیر رو میتونید تست کنید و استفاده کنید:
https://wordpress.org/plugins/display-categories-widget/
https://wordpress.org/plugins/custom-sidebars/
https://wordpress.org/plugins/posts-in-sidebar/
biog2019 2 سال عضو همیار وردپرس
سلام، من یه قالب وردپرس خریداری کردم. بعد از اکسترکت کردن فایل full-pack با error log زیر مواجه می شوم. ببخشید خیلی طولانیه، خواستم کاملشو بنویسم
[04-Jul-2018 08:08:03 UTC] PHP Warning: mysqli_query(): (HY000/23): Out of resources when opening file ‘/dev/shm/tmp/#sql_3933e8_0.MAI’ (Errcode: 24 "Too many open files") in /home/demoabzarwp/public_html/publisher/wp-includes/wp-db.php on line 1924
[04-Jul-2018 08:08:03 UTC] خطای Out of resources when opening file ‘/dev/shm/tmp/#sql_3933e8_0.MAI’ (Errcode: 24 “Too many open files”) در پایگاهداده وردپرس برای دستور SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN (‘category’) AND t.term_id IN ( 6,4,8,10,17,11 ) AND tt.count > 0 ORDER BY t.name ASC ساخته شده توسط require(‘wp-blog-header.php’), require_once(‘wp-includes/template-loader.php’), include(‘/themes/publisher/page.php’), get_header, locate_template, load_template, require_once(‘/themes/publisher/header.php’), publisher_get_view, include(‘/themes/publisher/views/general/header/header-style-2.php’), publisher_get_view, include(‘/themes/publisher/views/general/menu/main.php’), wp_nav_menu, wp_get_nav_menu_items, get_terms, WP_Term_Query->query, WP_Term_Query->get_terms
[08-Jul-2018 08:00:18 UTC] WordPress database error Out of resources when opening file ‘/dev/shm/tmp/#sql_172a6c_0.MAD’ (Errcode: 24 “Too many open files”) for query SHOW FULL COLUMNS FROM `wp_options` made by require(‘wp-blog-header.php’), require_once(‘wp-load.php’), require_once(‘wp-config.php’), require_once(‘wp-settings.php’), do_action(‘plugins_loaded’), WP_Hook->do_action, WP_Hook->apply_filters, RevSliderFront::createDBTables, update_option
[01-Nov-2018 00:46:01 UTC] PHP Warning: Error while sending QUERY packet. PID=3980174 in /home/demoabzarwp/public_html/publisher/wp-includes/wp-db.php on line 1924
سمانه
سلام بهاره جان چک کن این کامنت ها رو
ما از بس تو ایران از بلانسبت ناشی ها قالب خریدیم خسته شدیم.
من با تغییر فایل htaccess تونستم دو تا ساب فولدرم را بالا بیارم . اما ریشه ی اصلی بالا نمیادو روشها چاره ساز نبود.
توی ریشه ی اصلی 5 تا فایل htaccess بود با نام های مختلف. مثل htaccess_lscachebak_orig اینا چی هستند؟
با تشکر
بهاره کوهستانی 7 سال عضو همیار وردپرس
سلام
دوست عزیز من تا جایی که واقعا جای پاسخگویی باشه جواب میدم. اینکه میفرمایید چند تا htaccess یعنی مشکل! شما یه دونه از این فایل باید داشته باشید اونوقت چطور چندتا دارید؟
ساب فولدر دقیقا برای چی؟
سعید
سلام من رو روکال هاست به این خطا برخوردم. من قبلا آدرسم localhost/wp بود که بنا به دلایلی به localhost تغییرش دادم کل پوشه وردپرس را هم منتقل کردم روی mysql هم آدرس عوض کردم ( در قسمت wp_option) در خود وردپرس تو تنظیمات هم ادرس عوض کردم . خود وردپرس بالا میاد. صفحه اصلی هم بالا میاد ولی برای برگه ها و نوشته ها خطای 500 میده
خطا این هست:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at [email protected] to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
xampp خاموش روشن کردم . کامپیوتر ریستارت کردم. کش مرورگر پاک کردم. ولی درست نشد حتی وقتی برگه جدید هم ایجاد می کنم همین خطا را میده. حتی وردپرس هم آپدیت کردم نشد که نشد
علی
درود به شما مشکل من با تغییر نام پوشه افزونه حل شد فقط من وقتی دوباره پوشه افزونه رو تغییر نام دادم حروف اولش بزرگ بود و لیست افزونهها نمیومد و کلی دردسر کشیدم تا تونستم بفهمم مشکل چیه و کلا حروف بصورت کوچیک نوشتم مشکل برطرف شد خواستم اطلاع رسانی کنم دوستان این اشتباه رو نکنن سپاس از مطلب مفیدتون عللی بود
علی
من تمام مراحل بالا رو انجام دادم بازم نتیجه نداد.. ممنون میشم راهنمایی کنید.
حسام رضائیان
سلام و خسته نباشید
من این مشکل رو هنگام باز کردن صفحه wp-admin باهاش رو به رو میشم
پویا
درود و سپاس
مشکل این بود که فقط یکی از صفحه های سایت امکان ویرایش نداشت
و فقط با تغییر نام پلاگین ها یعنی پوشه پلاگین موضوع برطرف شد.
تمامی موارد دیگه بی تاثیر بود.
واقعا ممنون که توضیحات رو زحمت کشیدید به اشتراک گذاشتید.
پیروز و تندرست باشید.
safa
من این مشکل رو در زمان نصب دارم چیکار کنم ؟
reza
با خطای اینترنال سرور مواجه شدم و وقتی به ارور لاگ سی پنل میرم ، ارور زیر رو نشون میده
ممنون میشم اگه کمکم کنین
[Mon May 21 02:27:59.641537 2018] [:error] [pid 22588] [client 80.66.181.226:57179] File does not exist:
MOHI
سلام من این ارور رو توی هاست تو فولدر EROOR-LOG HDاینو میبینم
[26-Mar-2018 09:53:54 UTC] PHP Fatal error: Call to undefined function get_bloginfo() in /home/agrafiki/public_html/wp-includes/class-wp-locale.php on line 231
و اینکه تمام هاگین های دید رو تغییر نام دادم
سجاد
عااااااااااااااااالی بوووووووووووووووووددددددددددددد.مشکلم حل شددددددددددددد.خسته نباشید.خیلی ساییتون عالیه. خداقوت
فاطمه میرزایی 3 سال عضو همیار وردپرس
باسلام خسته نباشید خدمت تیم همیاروردپرس
من سایتم رو بروزرسانی کردم ولی بروزرسانیenبود و سایت من fa
بعد ی دفعه با این ارور مواجه شدم حتی به ناحیه پیشخوان هم نمیتونم وارد بشم
اگه میشه لطفا راهنماییم کنید.