آیا در وردپرس در هنگام آپلود تصویر یا فایلهای رسانههای خطای HTTP Error میگیرید؟ این خطای وردپرس بهطورمعمول در هنگام استفاده از آپلودر استاندارد وردپرس رخ میدهد و در این مقاله قصد داریم تا به شما آموزش دهیم که چگونه خطای HTTP وردپرس را در هنگام آپلود تصاویر رفع کنید.
چه چیزی باعث وقوع خطای HTTP هنگام آپلود در وردپرس میشود؟
در دنیای وردپرس اینگونه خطاها دلایل و سرچشمههای متفاوتی دارند و خطای HTTP Error را بهخصوص درزمانی که از آپلودی اصلی وردپرس استفاده میکنید بیشتر مشاهده خواهید کرد. اساساً دلیل بروز این خطا این است که وردپرس نمیتواند تشخیص دهد که چه اتفاقی در فرآیند نافرجام آپلود عکس رخداده است و خطایی عمومی با کد HTTP error را نشان میدهد.
قسمت نافرم قضیه آنجاست که هیچ ایدهای وجود ندارد تا علت خطا را توضیح دهد و این به این معنی است که برای پیدا کردن علت وقوع و رفع آن نیاز دارید تا روشهای مختلفی را امتحان کنید.
1. از اینکه خطای HTTP موقت و اتفاقی نیست اطمینان حاصل کنید
اولازهمه بایستی چند دقیقه صبر کنید و سپس یک عکس جدید آپلود کنید. این خطا گاها براثر وجود ترافیک سنگین روی سایت یا هر اتفاق مشابه دیگری مثل کمبود منابع سرور در آن لحظه بهصورت اتفاقی رخ میدهد و خودبهخود نیز رفع میگردد.
اگر این مشکل رفع نشد، آنگاه سعی کنید عکس دیگری را روی وردپرس آپلود کنید، اگر فایل دیگری با موفقیت آپلود شد، آنگاه تصویر اصلی را کمی تغییر سایز داده، کوچکتر کرده و سپس نسبت به آپلود آن اقدام نمایید.
در برخی موارد نیاز است فرمت تصویر تغییر کند. برای مثال میتوانید با یک ابزار ویرایشگر عکس مثل فتوشاپ یا paint، فرمت فایل تصویر را از مثلاً png به jpeg تغیر دهید. پس از انجام این تغییر نسبت به آپلود فایل در وردپرس اقدام کنید.
اگر تمامی این اقدامات درنهایت منجر به خطای HTTP error شد یعنی این خطا براثر اتفاق و بهصورت موقت رخ نداده و نیاز است با اولویت روی آن تمرکز و رفع گردد.
2. محدودیت حافظه وردپرس را افزایش دهید
یکی از شایعترین دلایلی که موجب بروز این خطا میشود کمبود حافظه مصرفی RAM برای پردازشگر وردپرس است. برای راست و ریست کردن این موضوع بایستی میزان حافظهی در اختیار PHP را افزایش دهید. سعی کنید کد زیر را در فایل wp-config.php اضافه کنید:
define( 'WP_MEMORY_LIMIT', '256M' );
با استفاده از این کد میتوانید محدودیت حافظه وردپرس را به 256مگابایت افزایش دهید که میتواند مشکلات احتمالی به وجود آمده را برطرف کند.
3. کتابخانه ویرایشگر تصویری که وردپرس از آن استفاده میکند را تغییر دهید
همانطور که میدانید وردپرس بر روی PHP اجرا میشود و PHP نیز از دو ماژول برای کنترل تصاویر استفاده میکند. این ماژولها GD Library و Imageick نام دارند. وردپرس نیز یکی از آنها را برحسب آنکه کدامیک در دسترس است مورداستفاده قرار میدهد.
بااینحال، کتابخانه Imagick با مشکلاتی که با حافظه دارد شناخته میشود و همین امر ممکن است وردپرس را به خطای HTTP برساند. برای رفع این مشکل بایستی کتابخانه GD را بهعنوان ویرایشگر پیشفرض تصویر تنظیم کنید.
انجام این کار هم ساده است، این کد زیر را به فایل functions.php قالب مورداستفادهتان اضافه نمایید:
function wpb_image_editor_default_to_gd( $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', 'wpb_image_editor_default_to_gd' );
پس از اضافه کردن کد فوق، مجدداً اقدام به آپلود فایل از طریق وردپرس نمایید. اگر این متد نیز برای رفع خطای HTTP ERROR کارساز نبود، سایر متدهای معرفیشده در این مقاله را به کار ببندید.
4. استفاده از متد .htaccess
این متد به شما این امکان را میدهد تا مشخص کنید که کتابخانه Imagick چطور از منابع سرور استفاده کند. خیلی از هاست های اشتراکی به Imagick این امکان را میدهند تا از پردازشهای موازی جهت پردازش سریعتر تصاویر استفاده کند. بااینحال، ممکن است این کتابخانه موجب بروز خطای HTTP شده باشد.
یکی از سریعترین راهحلها این است که کد زیر را در فایل .htaccess اضافه کنید:
SetEnv MAGICK_THREAD_LIMIT 1
این کد Imagick را محدود به استفاده از یک پردازش واحد برای پردازش تصاویر میکند.
امیدواریم این مقاله به شما در حل مشکل HTTP Error در هنگام آپلود عکس و فایل در وردپرس کمک کرده باشد.
اگر تاکنون با این خطا مواجه بودهاید، با درج دیدگاه به سایر کاربران نیز بگویید که چگونه از پس آن برآمدهاید.