سلام ،
تو وردپرس وقتی کاربری بخواد تصویری اپلود کنه با خطای http مواجه میشه ولی اپلود تصویر برای ادمین مشکلی نداره.
دلیلش چیه؟
٫ مطمئن شدن از موقت نبودن خطای HTTP
در ابتدا چند دقیقه صبر کنید و سپس دوباره فایل تصویر خود را آپلود کنید. این خطا گاهی ناشی از ترافیک غیر معمول و کاهش منابع سرور رخ میدهد. همچنین میتوانید یک تصویر دیگر را تست کنید اگر درست شد پس سایز عکس قبلی را کوچکتر کرده و مجددا تصویر را آپلود کنید. در نهایت فرمت فایل تصویر را تغییر دهید، مثلا از فرمت png به jpg تغییر دهید. اگر پس از انجام این مراحل مجددا با خطا HTTP مواجه شدید، روش های دیگر را تست کنید.
۲٫ افزایش محدودیت حافظه وردپرس
شایعترین علت این خطا، کمبود حافظه php در وردپرس است. برای رفع این مشکل، شما باید مقدار حافظه PHP در سرور خود را افزایش دهید.
کد زیر را در فایل wp-config.php قالب خود اضافه نمایید.
define( 'WP_MEMORY_LIMIT', '256M' );
۳٫ تغییر کتابخانه ویرایشگر تصویر استفاده شده توسط وردپرس
وردپرس به زبان PHP اجرا می شود که از دو ماژول برای مدیریت تصاویر استفاده می کند. این ماژول ها کتابخانه GD و Imagick نامیده می شوند. وردپرس می تواند یکی از آنها را بسته به اینکه کدام یک در دسترس هستند استفاده کند.
به طور کلی کتابخانه 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' );
حال میتوانید تصاویر و فایل های خود را در بخش کتابخانه چند رسانه وردپرس آپلود کنید. اگر مجددا به خطا برخوردید، این کد را حذف و روش زیر را دنبال کنید.
۴٫ با استفاده از روش htaccess.
این روش به شما اجازه می دهد تا کنترل کنید که Imagick از منابع سرور استفاده می کند. بسیاری از ارائه دهندگان خدمات میزبانی وب توانایی Imagick را برای استفاده از چند رشته برای پردازش تصویر سریع تر محدود می کنند. با این وجود، در هنگام آپلود کردن تصاویر، خطای HTTP را مشاهده خواهید کرد.
در این قسمت خط کد زیر را به فایلhtaccess. قالب خود اضافه و ذخیره نمایید.
SetEnv MAGICK_THREAD_LIMIT 1
این کد به سادگی Imagick را محدود می کند تا از یک رشته برای پردازش تصاویر استفاده کند.