رسانه های وردپرس یکی از بخش های کاربردی وردپرس است که شما می توانید تصاویر مورداستفاده خودتان را در این بخش بارگذاری کنید.شاید در استفاده از این بخش و بارگذاری تصاویر در بخش رسانه های وردپرس دچار مشکل یا خطا شده باشید که قصد داریم در این مقاله به آن بپردازیم.
در ادامه قصد داریم خطاهایی موجود برای بارگذاری تصاویر در رسانه های وردپرس را بررسی کنیم :
نام تصویر خودتان را بررسی کنید
دقت کید که شما باید تصاویری که در سایت خودتان استفاده می کنید باید از یک نام مشخص و از حروف و یا اعداد استفاده کنید،ضمن اینکه توصیه می کنیم از حروف انگلیسی استفاده کنید هرچند استفاده از حروف فارسی هم مشکلی ایجاد نمی کند ولی استفاده از کارکترهایی مثل )*)&%^ در نام تصاویر اشتباه است و نباید از این این عبارتها استفاده کنید.
خطای HTTP هنگام بارگذاری تصاویر
این نوع خطا معمولا زمانی رخ می دهد که اندازه تصویر شما از حد معمول بزرگتر باشد،در وردپرس شما به صورت پیش فرض امکان بارگذاری فایل با حجم ۲ مگابایت را دارید و نمی توانید از فایل ها یا تصاویر با حجم بالا در بخش رسانه های وردپرس استفاده کنید.
به عنوان مثال استفاده از تصویری با اندازه ۳۰۰۰*۲۰۰۰ پیکسل در برخی از سرورها روی وردپرس امکان پذیر نیست و شما باید تا حد امکان از تصاویر با اندازه پایین استفاده کنید.
راه حل ها
کاهش اندازه تصاویر
برای رفع این مشکل تا حد امکان شما باید از تصاویر با اندازه پایین استفاده کنید،شما می توانید با استفاده از نرم افزار فوتوشاپ اندازه تصاویر خودتان را کاهش دهید.
افزایش PHP Memory
اگر میزان حجم حافظه PHP سرور شما پایین باشد به شما اجازه آپلود فایل با اندازه های بالا را نمی دهد و برای این منظور شما باید با پشتیبان هاست خود تماس بگیرید و درخواست کنید که میزان اندازه حافظه PHP سرور شما را افزایش دهد.
ضمن اینکه شما میتوانید با استفاده از فایل wp-config.php هم خودتان میزان حجم PHP Memory را افزایش دهید برای این منظور کافی است که کد زیرا را به فایل wp-config.php وردپرس خود اضافه کنید که این کد مقدار حجم پی اچ پی شما را به ۲۵۶ مگابایت افزایش می دهد و این مقدار برای سایت شما معمولا نرمال است.
define( 'WP_MEMORY_LIMIT', '256M' );
ضمن اینکه شما میتوانید با استفاده از فایل htaccess. هم این مقدار را افزایش دهید،برای این منظور کافی است که کد زیر را به فایل htaccess. خود اضافه کنید.
توجه : ممکن است روی برخی از سرور های میزبانی استفاده از این کد سایت شما را با خطای ۵۰۰ مواجه کند که در این حالت شما باید از روش فایل wp-config.php استفاده کنید.
php_value memory_limit 256M
راه دیگر اینکه شما میتوانید با استفاه از فایل php.ini هم میزان حافظه پی اچ پی هاست خودتان را افزایش دهید اما دقت کنید که شما باید درون سرور به این فایل دسترسی داشته باشید که در صورتی که از سروراختصاصی می کنید به این فایل دسترسی دارید و روی هاست های اشتراکی یا میزبانی معمولا شما به عنوان مصرف کننده به این فایل دسترسی ندارید.
برای استفاده از این روش شما باید کد زیر را به فایل php.ini هاست خود اضافه کنید :
memory_limit = 256M
ModSecurity
شاید مشکل موجود بخاطر استفاده از امکان امنیتی ModSecurity روی سرور شما باشد،برای بررسی این موضوع شما باید امکان ModSecurity را غیرفعال کنید تا موضوع اختلال این امکان مشخص شود. برای غیرفعال کردن این امکان امنیتی در پوشه wp-admin هاست خود یک فایل htaccess ایجاد کنید و کد زیر را درون آن قرار دهید :
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
توجه : اگر غیرفعال کردن Mod Security در سرور شما دچار اختلال شد فایل ایجاد شده را حذف کنید ، ضمن اینکه با توجه به راه های پیشنهادی فوق ایت راه آخرین گزینه است.
? مقاله آموزشی مشابه : نحوه رفع مشکل آپلود تصویر در وردپرس – ویرایشگر گوتنبرگ
کنترل دسترسی بر اساس اعتبار سنجی پوشه ها
اگر شما از کنترل دسترسی برای جلوگیری از دسترسی های غیر مجاز به فایل و پوشه های سایت استفاده می کنید،(به عنوان مثال htpasswd,Basic Authentiaction) وردپرس قادر به استفاده از Uploader نیست که در این حالت امکان فراخوانی و بارگذاری فایل روی وردپرس قطع شده است برای فراخوانی این قابلیت شما باید در روت اصلی هاست جایی که فایل های وردپرس قرار دارند کد های زیر را به فایل htaccess. اضافه کنید.
# Exclude the file upload and WP CRON scripts from authentication
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
Satisfy Any
Order allow,deny
Allow from all
Deny from none
</FilesMatch>
اختلاف افزونه
گاهی ممکن است این مشکل به دلیل نصب و یا اختلاف یک افزونه ی نصب شده روی وردپرس شما باشد که به صورت زیر عمل کنید :
تک تک اقدام به غیر فعال کردن افزونه ها کنید و پس از غیرفعال کردن هر افزونه با رعایت اندازه پایین تصاویر اقدام به بارگذاری تصاویر در بخش رسانه ها کنید و به این نکته هم دقت کنید که حتما بعد از غیرفعال کردن هر افزونه کش سایت و مرورگر خودتان را خالی کنید.
مشکل ایجاد شده در دایرکتوری رسانه ها
گاهی ممکن است وردپرس شما امکان ایجاد دایرکتوری برای آپلود تصاویر نیست ، تصاویر شما در مسیر زیر آپلود می شدند :
Wp-content / Upload/2019/4
این اتفاق زمانی رخ می دهد که به صورت تصادفی مدیر سرور یا وبمستر شما تغییراتی روی پوشه ی Uploads ایجاد کرد که باید نسبت به رفع آن اقدام کنید. دقت کنید میزان دسترسی برای این پوشه روی مقدار ۷۵۵ باشد تا امکان آپلود تصاویر فراهم شود .
پس از بررسی ودسترسی پوشه Upload و تغییر آن به مقدار ۷۵۵ (در صورت تغییر ) به بخش رسانه های وردپرس خود مراجعه کنید و شروع به آپلود کنید . ( دقت کنید کش سایت و مرورگر را پاک کنید )
بررسی Upload_max_filesize
این اتفاق زمانی رخ می دهد که مقدار PHP Maximum Uploaded شما در فایل Php.ini کمتر از مقدار حجم فایل تصویر بارگذاری شده تنظیم شده باشد.
برای بدست آوردن مقدار PHP Maximum Uploaded سایت به به اطلاعات سایت خودتان (یا سرور ) مراجعه کنید.
راه حل
برخی از راه حل های موجود برای رفع این مشکل به شرح زیر است :
با شرکت میزبان سایت خود تماس بگیرید
شاید این راحت ترین راه باشد که یک عکس از خطا موجود در بخش رسانه های سایت خود تهیه کنید و برای پشتیبان میزبانی سایت خود ارسال کنید.
upload_max_filesize
post_max_size
max_execution_time
max_input_time
مقادیر را ترجیحا به اعداد زیر تبدیل کنید :
upload_max_filesize 64M
post_max_size 64M
max_execution_time 300
max_input_time 300
ویرایش فایل php.ini
فایل php.ini به طور پیشفرض وظیفه پیکربندی php سرور را دارد که اکثر پشتیبان های سرور اجازه دسترسی به این فایل را به شما نمیدهند اگر شما درون هاست خود به این فایل دسترسی دارید مقادیر زیر را جستجو کنید :
upload_max_filesize
post_max_size
max_execution_time
max_input_time
و ترجیجا به مقادیر زیر تبدیل کنید :
upload_max_filesize 64M
post_max_size 64M
max_execution_time 300
max_input_time 300
نکته : قبل از تغییرات حتما از این فایل و هاست خود فایل پشتیبان تهیه کنید .
با استفاده از فایل .htaccess
فایل .htaccess برای مدیریت آپاچی (سرورس) و تغییر در بخش های مختلف سایت بکار می رود که شما می توانید مقادیر افزایش حافظه php را هم از طریق این فایل انجام دهید . برای اینکار فایل .htaccess را ویرایش کنید و مقادیر زیر را به آن اضافه کنید.
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
توجه : دقت کنید حتما از هاست خود فایل پشتیبان تهیه کنید و در صورت بروز مشکل با پشتیبان هاست خود تماس بگیرید.