SHET26

خطای HTTP در وردپرس موقع آپلود فایل و روش حل آن

خطای HTTP در وردپرس موقع آپلود فایل و روش حل آن
خطای http در وردپرس
خطای http در وردپرس

خطای HTTP موقع آپلود تصویر معمولاً یک دلیل مشخص و یکسان نداره. ممکنه خود فایل مشکل داشته باشه، فضای هاست پر شده باشه، وردپرس به پوشه uploads دسترسی نداشته باشه یا سرور نتونه تصویر رو پردازش کنه. برای همین بهتره به‌جای امتحان‌کردن کدهای مختلف، علت خطا رو مرحله‌به‌مرحله پیدا کنید.

توی این راهنما، اول بررسی‌های ساده و کم‌خطر رو انجام می‌دیم. بعد سراغ سلامت سایت، محدودیت‌های PHP، دسترسی فایل‌ها و تداخل افزونه یا قالب می‌ریم. روش‌های مربوط به GD، Imagick و فایل .htaccess هم در انتهای مسیر قرار گرفتن؛ چون این روش‌ها فنی‌تر هستن و روی همه سرورها جواب یکسانی نمی‌دن.

آنچه در این مقاله می‌خوانید

خطای HTTP وردپرس موقع آپلود تصویر یعنی چی؟

وقتی تصویری رو از بخش «رسانه ← افزودن پرونده رسانه‌ای تازه» یا داخل ویرایشگر نوشته آپلود می‌کنید، مرورگر فایل رو برای سرور می‌فرسته. وردپرس بعد از دریافت فایل، نوع اون رو بررسی می‌کنه، فایل رو داخل پوشه رسانه‌ها می‌ذاره و در صورت نیاز نسخه‌های کوچک‌تر تصویر رو می‌سازه.

صفحه افزودن پرونده رسانه‌ای تازه و بخش انتخاب فایل در پیشخوان وردپرس
صفحه افزودن پرونده رسانه‌ای تازه و بخش انتخاب فایل در پیشخوان وردپرس

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

پیام‌های مختلف خطای آپلود چه فرقی با هم دارن؟

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

اگه وردپرس می‌گه فایل به پوشه uploads منتقل نشده یا پوشه ساخته نمی‌شه، اول باید مسیر رسانه‌ها، فضای هاست و دسترسی پوشه رو بررسی کنید. راهنمای حل خطای ایجادنشدن پوشه uploads جزئیات همین مشکل رو توضیح می‌ده. برای خطای مشخص پس‌پردازش هم می‌تونید راهنمای حل خطای پس‌پردازش تصویر رو ببینید.

قبل از شروع، از سایتتون نسخه پشتیبان بگیرید

تازه‌سازی صفحه یا آزمایش یک تصویر دیگه خطری نداره. ولی قبل از تغییر فایل‌های wp-config.php، .htaccess یا دسترسی پوشه‌ها، از فایل‌ها و پایگاه داده سایتتون نسخه پشتیبان بگیرید. اگه هاستتون ابزار بکاپ‌گیری داره، از همون ابزار استفاده کنید و مطمئن بشید فایل پشتیبان قابل دانلود یا بازیابی هست.

هر فایلی رو هم قبل از ویرایش دانلود کنید تا نسخه سالم اون رو داشته باشید. اگه با مدیریت فایل، FTP یا کدهای PHP آشنا نیستید، بهتره تغییرهای فنی رو به پشتیبانی هاست بسپارید.

اول این بررسی‌های سریع رو انجام بدید

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

صفحه رو تازه‌سازی و فایل رو دوباره آپلود کنید

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

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

کتابخانه رسانه وردپرس برای بررسی اینکه فایل با وجود پیام خطا آپلود شده یا نه
کتابخانه رسانه وردپرس برای بررسی اینکه فایل با وجود پیام خطا آپلود شده یا نه

نام، حجم و فرمت تصویر رو بررسی کنید

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

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

یک تصویر دیگه رو امتحان کنید

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

کش مرورگر رو پاک کنید و مرورگر دیگه‌ای رو امتحان کنید

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

حذف پوشه‌ای با نام Js_Cache از wp-content/uploads راهکار عمومی وردپرس نیست. چنین پوشه‌ای ممکنه به یک افزونه خاص مربوط باشه؛ پس بدون شناخت سازنده و کاربردش چیزی رو از هاست حذف نکنید.

وضعیت وردپرس و سرور رو از بخش سلامت سایت بررسی کنید

از پیشخوان وارد «ابزارها ← سلامت سایت» بشید. تب «وضعیت» ایرادهای مهم رو نشون می‌ده و تب «اطلاعات» جزئیات محیط وردپرس و سرور رو در اختیارتون می‌ذاره. بخش‌های «سرور»، «مدیریت رسانه» و «دسترسی‌های سیستم پرونده» برای این خطا مهم‌تر هستن. توضیح کامل این ابزار در مستندات رسمی سلامت سایت وردپرس در دسترسه.

تب وضعیت سلامت سایت و پیشنهادهای وردپرس برای پیدا کردن مشکلات مهم
تب وضعیت سلامت سایت و پیشنهادهای وردپرس برای پیدا کردن مشکلات مهم

سقف حجم آپلود و محدودیت‌های PHP رو پیدا کنید

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

سقف حجم آپلود
سقف حجم آپلود

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

فضای خالی هاست و دسترسی پوشه uploads رو بررسی کنید

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

بررسی فضای خالی هاست
بررسی فضای خالی هاست

پوشه رسانه‌ها معمولاً در مسیر wp-content/uploads قرار داره. وردپرس باید اجازه نوشتن داخل این پوشه و ساخت پوشه‌های سال و ماه رو داشته باشه. پیام مربوط به ساخته‌نشدن شاخه یا انتقال‌نیافتن فایل، سرنخ مهمی برای مشکل دسترسی یا مالکیت فایل‌هاست.

وضعیت GD و Imagick رو ببینید

GD و Imagick دو کتابخانه پردازش تصویر هستن. وردپرس از اون‌ها برای چرخاندن، برش‌دادن و ساخت اندازه‌های مختلف تصویر استفاده می‌کنه. در بخش «مدیریت رسانه» سلامت سایت می‌تونید ببینید کدوم کتابخانه‌ها روی سرور فعال هستن و چه فرمت‌هایی رو پشتیبانی می‌کنن.

ساختارهای پرونده پشتیبانی شده
ساختارهای پرونده پشتیبانی شده

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

محدودیت حجم و زمان پردازش فایل رو افزایش بدید

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

محدودیت‌های upload_max_filesize و post_max_size چه کاری انجام می‌دن؟

upload_max_filesize سقف اندازه هر فایل آپلودی رو مشخص می‌کنه. post_max_size سقف کل داده‌ایه که در یک درخواست برای سرور فرستاده می‌شه. پس مقدار post_max_size باید از اندازه فایل و سربار درخواست کافی بیشتر باشه.

دو گزینه max_execution_time و max_input_time هم به زمان اجرا و دریافت داده مربوط هستن. عدد مناسب برای همه سایت‌ها یکسان نیست. افزایش بی‌حساب این مقدارها هم علت اصلی خطا رو پنهان می‌کنه؛ پس اول گزارش خطا و اندازه فایل رو بررسی کنید.

چه زمانی باید از پشتیبانی هاست کمک بگیرید؟

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

حافظه PHP وردپرس رو بررسی کنید

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

فایل wp-config.php کجاست؟

فایل wp-config.php معمولاً در پوشه اصلی نصب وردپرس و کنار پوشه‌های wp-admin، wp-content و wp-includes قرار داره؛ این فایل داخل پوشه قالب نیست. برای آشنایی بیشتر، راهنمای فایل wp-config.php در وردپرس رو ببینید.

بعد از تهیه نسخه پشتیبان، می‌تونید خط زیر رو قبل از خط پایانی مربوط به توقف ویرایش در این فایل قرار بدید:

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

عدد 256M فقط یک نمونه‌ست. وردپرس نمی‌تونه از سقفی که سرور برای PHP تعیین کرده عبور کنه. بعد از ذخیره فایل، مقدار مؤثر حافظه رو دوباره از سلامت سایت بررسی کنید.

WP_MEMORY_LIMIT و WP_MAX_MEMORY_LIMIT چه فرقی دارن؟

WP_MEMORY_LIMIT مقدار حافظه‌ایه که وردپرس برای کارهای عادی درخواست می‌کنه. WP_MAX_MEMORY_LIMIT سقف درخواستی برای بعضی کارهای مدیریتی سنگین‌تره. این ثابت‌ها درخواست وردپرس رو مشخص می‌کنن، ولی محدودیت نهایی همچنان به تنظیمات PHP و سیاست هاست بستگی داره.

چرا تغییر حافظه همیشه مشکل رو حل نمی‌کنه؟

اگه پوشه uploads قابل نوشتن نباشه، فایل از سقف آپلود بزرگ‌تر باشه یا یک ابزار امنیتی درخواست رو مسدود کنه، افزایش حافظه اثری نداره. حتی ممکنه هاست مقدار نوشته‌شده در wp-config.php رو نپذیره. برای همین نتیجه رو در سلامت سایت و گزارش خطا بررسی کنید.

دسترسی پوشه uploads و مالکیت فایل‌ها رو بررسی کنید

وردپرس برای ذخیره تصویر باید بتونه داخل wp-content/uploads بنویسه. دسترسی یا مالکیت نادرست معمولاً بعد از انتقال سایت، بازیابی نسخه پشتیبان یا جابه‌جایی فایل‌ها با یک حساب متفاوت دیده می‌شه.

مجوز مناسب پوشه‌ها و فایل‌ها رو چطور تشخیص بدید؟

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

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

چه زمانی باید اصلاح دسترسی رو به پشتیبانی هاست بسپارید؟

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

تداخل افزونه‌ها و قالب رو بدون قطع سایت پیدا کنید

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

با حالت عیب‌یابی Health Check افزونه‌ها رو آزمایش کنید

افزونه رسمی Health Check & Troubleshooting حالت عیب‌یابی داره. این حالت برای حساب شما افزونه‌ها رو موقتاً غیرفعال می‌کنه، ولی بازدیدکننده‌ها سایت عادی رو می‌بینن.

تب عیب‌یابی افزونه Health Check برای شروع آزمایش افزونه‌ها بدون تغییر سایت بازدیدکننده‌ها
تب عیب‌یابی افزونه Health Check برای شروع آزمایش افزونه‌ها بدون تغییر سایت بازدیدکننده‌ها

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

قالب فعال رو موقت بررسی کنید

در حالت عیب‌یابی، یک قالب پیش‌فرض وردپرس رو فقط برای نشست خودتون فعال کنید. اگه آپلود با قالب پیش‌فرض درست شد، کدهای قالب فعال، فایل functions.php یا یکی از قابلیت‌های بهینه‌سازی تصویر قالب نیاز به بررسی داره.

صفحه پوسته‌ها در حالت عیب‌یابی برای آزمایش موقت یک قالب پیش‌فرض وردپرس
صفحه پوسته‌ها در حالت عیب‌یابی برای آزمایش موقت یک قالب پیش‌فرض وردپرس

بعد از پیدا کردن عامل خطا چه کاری انجام بدید؟

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

خطاهای پردازش تصویر با GD و Imagick رو بررسی کنید

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

تغییر موقت ویرایشگر تصویر به GD

کد زیر GD رو در اولویت قرار می‌ده:

function mihanwp_prefer_gd_image_editor( $editors ) {
    $gd_editor = 'WP_Image_Editor_GD';
    $editors   = array_diff( $editors, array( $gd_editor ) );
    array_unshift( $editors, $gd_editor );
    return $editors;
}
add_filter( 'wp_image_editors', 'mihanwp_prefer_gd_image_editor' );

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

کد آزمایشی رو کجا و چطور امن اضافه کنید؟

بهتره کد رو با یک افزونه اختصاصی کوچک یا ابزار معتبر مدیریت قطعه‌کد اضافه کنید. قراردادن مستقیم کد در functions.php قالب اصلی باعث می‌شه تغییر بعد از به‌روزرسانی قالب از بین بره. اگه از پوسته فرزند استفاده می‌کنید، فایل functions.php اون هم گزینه مناسبیه. قبل از هر تغییر، نسخه پشتیبان داشته باشید.

چه زمانی کد آزمایشی رو حذف کنید؟

اگه کد اثری نداشت، همون موقع حذفش کنید. اگه مشکل رو موقتاً حل کرد، باز هم علت تنظیمات Imagick یا منابع سرور رو پیگیری کنید. نگه‌داشتن کد آزمایشی بدون ثبت دلیل، عیب‌یابی‌های بعدی رو سخت‌تر می‌کنه.

تنظیم Imagick در فایل .htaccess رو فقط روی سرور سازگار آزمایش کنید

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

SetEnv MAGICK_THREAD_LIMIT 1

دستور MAGICK_THREAD_LIMIT چه کاری انجام می‌ده؟

این دستور از Imagick می‌خواد پردازش رو با یک رشته انجام بده. روی بعضی محیط‌ها، محدودکردن تعداد رشته‌ها با منابع و سیاست سرور سازگارتره. بااین‌حال، نتیجه به پیکربندی ImageMagick، PHP و وب‌سرور بستگی داره.

چرا این روش روی Nginx و بعضی هاست‌ها جواب نمی‌ده؟

Nginx فایل .htaccess رو پردازش نمی‌کنه. روی Apache هم دستور SetEnv فقط وقتی کار می‌کنه که ماژول و سطح دسترسی لازم فعال باشه. بعضی هاست‌ها استفاده از این دستور رو داخل .htaccess نمی‌پذیرن. پس اگه نوع سرور رو نمی‌دونید، قبل از افزودن کد از پشتیبانی سؤال کنید.

گزارش خطای سرور و حالت اشکال‌زدایی وردپرس رو بررسی کنید

گزارش خطا معمولاً از حدس‌زدن دقیق‌تره. در پنل هاست دنبال بخش Error Log بگردید و زمان دقیق آزمایش آپلود رو یادداشت کنید. بعد خطاهایی رو بررسی کنید که در همون دقیقه ثبت شدن.

برای ثبت خطاهای وردپرس می‌تونید بعد از تهیه نسخه پشتیبان، تنظیمات زیر رو در wp-config.php قرار بدید. نمایش خطا روی صفحه خاموش می‌مونه و گزارش داخل فایل wp-content/debug.log نوشته می‌شه:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

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

خطای 403، 413، 500 و 503 چه سرنخی می‌ده؟

  • 403: درخواست اجازه عبور نگرفته. قانون امنیتی، فایروال، مجوز فایل یا تنظیمات سرور می‌تونه علت باشه.
  • 413: درخواست برای سقف فعلی سرور بزرگه. اندازه فایل و محدودیت درخواست رو بررسی کنید.
  • 500: خطای داخلی سروره. گزارش خطا برای پیدا کردن علت اصلی ضروریه.
  • 503: سرویس موقتاً در دسترس نیست یا منابع کافی نداره. وضعیت منابع و سرویس‌های هاست باید بررسی بشه.

این کدها سرنخ هستن، نه تشخیص قطعی. برای نمونه، یک فایروال ممکنه درخواست بزرگ یا الگوی خاصی رو با کد 403 مسدود کنه.

چه اطلاعاتی رو برای پشتیبانی هاست بفرستید؟

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

اگه خطا فقط برای یک فایل اتفاق می‌افته چه کار کنید؟

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

تصویر رو دوباره ذخیره و بهینه کنید

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

ابعاد، فرمت و اطلاعات داخلی فایل رو تغییر بدید

عرض و ارتفاع تصویر رو متناسب با نیاز واقعی سایت کم کنید. بعد تصویر رو به فرمت استاندارد دیگه‌ای تبدیل کنید و فایل خروجی رو آپلود کنید. ذخیره دوباره معمولاً داده‌های داخلی اضافی یا ناسازگار فایل رو هم بازنویسی می‌کنه.

اگه فایل SVG هست، اون رو مثل تصویرهای معمولی آپلود نکنید. SVG می‌تونه کد اجرایی داشته باشه و باید پاک‌سازی بشه. راهنمای آپلود امن تصاویر SVG در وردپرس روش مناسب این فرمت رو توضیح می‌ده.

ترتیب پیشنهادی برای رفع خطای HTTP هنگام آپلود تصویر

  1. آپلود رو دوباره انجام بدید و یک فایل سالم دیگه رو آزمایش کنید.

  2. نام، حجم، فرمت و ابعاد تصویر رو بررسی کنید.

  3. سلامت سایت و محدودیت‌های سرور رو ببینید.

  4. فضای هاست و دسترسی پوشه uploads رو بررسی کنید.

  5. تداخل افزونه و قالب رو با حالت عیب‌یابی آزمایش کنید.

  6. حافظه PHP و گزارش خطای سرور رو بررسی کنید.

  7. تغییر موقت به GD یا تنظیم وابسته به Imagick رو فقط در محیط سازگار آزمایش کنید.

  8. جزئیات کامل خطا رو برای پشتیبانی هاست بفرستید.

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

سؤال‌های رایج

آیا کمبود حافظه PHP همیشه دلیل خطای HTTP هست؟

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

چرا بعضی تصاویر آپلود می‌شن ولی یک تصویر خاص آپلود نمی‌شه؟

احتمالاً حجم، ابعاد، فرمت یا ساختار داخلی همون فایل مشکل داره. تصویر رو با نام تازه و ابعاد کمتر دوباره ذخیره کنید و بعد فایل خروجی رو آزمایش کنید.

آیا تغییر دسترسی پوشه uploads خطر داره؟

اگه مجوز یا مالکیت اشتباه تنظیم بشه، ممکنه آپلود متوقف بشه یا دسترسی ناامن ایجاد بشه. از مجوز 777 استفاده نکنید و اگه با تنظیمات سرور آشنا نیستید، اصلاح مالکیت و دسترسی رو به پشتیبانی هاست بسپارید.

آیا غیرفعال‌کردن افزونه‌ها سایت رو برای کاربران قطع می‌کنه؟

غیرفعال‌کردن عادی افزونه‌ها ممکنه روی سایت اثر بذاره. ولی حالت عیب‌یابی افزونه Health Check تغییرها رو فقط برای نشست شما اعمال می‌کنه و بازدیدکننده‌ها سایت عادی رو می‌بینن.

اگه هیچ‌کدوم از روش‌ها جواب نداد، چه اطلاعاتی رو برای هاست بفرستیم؟

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

جمع‌بندی

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

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

نظر شما در این مورد چیه؟

  1. U38241۴ فروردین ۱۴۰۰

    با سلام. من عکس رو آپلود می کنم ولی وقتی میخوام با Elementor سایز عکس رو به صورت Custome تغییر بدم پیغام زیر رو میده
    ” کتابخانه‌های ImageMagick و GD بر روی سرور نصب نشده یا فعال نیستند! وردپرس برای تغییر اندازه تصاویر به یکی از این کتابخانه‌ها نیاز دارد. لطفاً برای فعال کردن آنها با بخش پشتیبانی سرور خود تماس بگیرید. ”
    هر بار هم که وارد صفحه wordpress سایتم میشم این پیغام رو نشون میده: ” به نظر می رسد فروشگاه شما از یک اتصال امن استفاده نمی کند. ما به شدت توصیه می کنیم در کل وب سایت خود از طریق اتصال HTTPS خدمت کنید تا امنیت اطلاعات مشتری را حفظ شود. ”
    ممنون میشم درباره هر 2 راهنماییم کنید

    • رضا راد۵ فروردین ۱۴۰۰

      سلام از هاست بخواهید این ۲ ماژول را برای شما نصب کنند. در مورد https نیز از هاست بخواهید برای شما ssl نصب کنند.

      • U335063۲۳ آذر ۱۴۰۲

        سلام جناب آقای راد عزیز
        بنده اگه بخوام روی لوکال هاستم ماژول imageMagick رو فعال کنم امکانش هست ؟ چون منم افزونه رو فعال دارم ولی ارور php میده و راه حلش هم مثل اینکه باید به هاست متصل بشه خواستم بپرسم که راهی هست بتونم روی لوکال فعال داشته باشمش؟

        • رضا راد۲۵ آذر ۱۴۰۲

          سلام بله توی گوگل سرچ کنید install php modules on xampp

  2. U26695۲۸ آبان ۱۳۹۹

    سلام در قسمت رسانه وردپرس امکان آپلود فایل نیست و خطا میده که خطایی رخ داده ، دوباره تلاش کنید ولی عکس در هاست آپلود میشه و در دیتا بیس با ایدی 0 و guid ( همان لینک یو ار ال) خالی ذخیره می شود.
    قبلا اوکی بود جدیدا اینطوری شده. من پلاگین های سایت کلا غیر فعال کردم و تم وردپرس به پیش فرض تغییر دادم ولی مشکل حل نشد و فایل ها آپلود شده رو در صفحه رسانه ها بصورت خاکستری نمایش میده که امکان حذفشون هم حتی نیست.
    راه حلی برای این مورد می تونید بهم پیشنهاد بدید؟
    ممنون

    • U26695۲۸ آبان ۱۳۹۹

      حتی هسته وردپرسم آپدیت کردم و در تب کنسول هیچ خطایی نداره و در تب network هم تمامی ها با response = successfull هستن. اینطور بنظر می اد در ذخیره فایل در پایگاه داده مشکلی اتفاق می افتاده ولی نمی دونم چطوری باید رفعش کنم یا اصلا مشکل دقیقا از کجاست.
      ممنون میشم راهنمایی کنید.

    • تیم پشتیبانیتیم پشتیبانی۲۹ آبان ۱۳۹۹

      با سلام
      سطح دسترسی پوشه ها و میزان فضای هارد سرور و فضای هاست رو بررسی کنید.

  3. کاربر مهمان۲۵ اسفند ۱۳۹۸

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

    • تیم پشتیبانیتیم پشتیبانی۲۶ اسفند ۱۳۹۸

      با سلام
      قسمتی که کد ها را ارسال کنید

  4. کاربر مهمان۹ تیر ۱۳۹۸

    سلام وقت بخیر
    ببخشید من موقع آپلود عکس در وردپرس با خطای http مواجه میشم
    لطف میکنید راهنماییم کنید؟؟

    • رضا راد۹ تیر ۱۳۹۸

      سلام همین آموزش رو ببینید.

  5. کاربر مهمان۱۹ خرداد ۱۳۹۸

    فایل صوتی در وردپرس می خوام قرار بدم ارور Http میده حدود 20 تا فایل صوتی هست که حجم هر کدام 51 مگ هست
    امکانش هست این حجم از اطلاعات رو توی سایت بارگذاری کنم و ارور نده؟
    می تونید کمک کنید؟

    • رضا راد۱۹ خرداد ۱۳۹۸

      سلام بله امکانش هست. البته ارور http یا از اتصال اینترنت شماست یا از ارتباط هاست شما. با اینترنت دیگری تست کنید.

  6. کاربر مهمان۱۱ خرداد ۱۳۹۸

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

    • تیم پشتیبانیتیم پشتیبانی۱۱ خرداد ۱۳۹۸

      سلام روی هاست اصلی تست کنید.

  7. کاربر مهمان۲۲ اردیبهشت ۱۳۹۸

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

    • رضا راد۲۲ اردیبهشت ۱۳۹۸

      درود باید از هاست بخواهید max upload size رو افزایش بدن.

      • کاربر مهمان۲۲ اردیبهشت ۱۳۹۸

        تکر از پاسخگویی سریعتون
        سرور و هاست همش دست خودمه تو دفتر کار خودمه
        زیاد کردم باز خطا وجود داره

        • تیم پشتیبانیتیم پشتیبانی۲۲ اردیبهشت ۱۳۹۸

          در قسمت php.ini میزان max upload را افزایش دهید.

      • U332499۱۸ مرداد ۱۴۰۳

        سلام منی که روی لوکال هاست کار می کنم چی کار باید کنم ؟

  8. کاربر مهمان۲۰ اردیبهشت ۱۳۹۸

    سلام من تمام این مراحل رو رفتم و مشکلم حل نشد بعد فهمیدم مشکل از افزونه SG Optimizer هست از قسمتی که تصاویر رو بهینه میکنه لطفا همین مطلب رو به اشتراک بگذارید برای کسانی که همچنین مشکلی رو دارند

    • رضا راد۲۰ اردیبهشت ۱۳۹۸

      سپاس به مقاله اضافه خواهیم کرد.

  9. کاربر مهمان۲۱ اسفند ۱۳۹۷

    سلام خسته نباشید
    من مشکل آپلود تصویر دارم هرکاری کردم نشد که بشه …
    یه طرفشو درست میکنی – یه جا دیگش بهم می ریزه
    ممنون میشم راهنمایی کنید

    • رضا راد۲۲ اسفند ۱۳۹۷

      درود خطا رو بفرمایید.

  10. کاربر مهمان۲۶ اردیبهشت ۱۳۹۷

    سلام خسته نباشید
    امکانش هست که بفرمایید چطوری باید عکسارو انتقال بدم به روی هاست ممنون میشم…

    • رضا راد۲۶ اردیبهشت ۱۳۹۷

      سلام پوشه uploads رو بک آپ بگیرید و منتقل کنید یا با افزونه backupbuddy که توی سایت هست

  11. کاربر مهمان۲۶ اردیبهشت ۱۳۹۷

    سلام خسته نباشید
    من سایتم رو روی هاست بردم ولی تصاویرم نمایش داده نمیشه آدرس تصاویر هم به طریقه زیر هست
    http://topolfood.gigfa.com/wp-content/uploads/2014/07/logo_restaurant_white.png

    ولی نمیدونم چرا نشون نمیده ممنون میشم راهنماییم کنید…

    • رضا راد۲۶ اردیبهشت ۱۳۹۷

      سلام ظاهرا تصاویر منتقل نشده

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسآنلاین و پاسخگوی شما هستیم.آنلاین

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.