خطای Upload Failed و Cannot Create Directory چیست؟
اگر هنگام آپلود تصویر یا فایل در وردپرس با پیام «Upload Failed» یا «Cannot Create Directory» مواجه شدهاید، نگران نباشید. این خطا یکی از رایجترین مشکلات وردپرسی است و در اکثر موارد به دسترسیهای فایل سیستم (Permissions) یا فضای دیسک مربوط میشود.
دلایل اصلی خطای Upload Failed در وردپرس
۱. دسترسی نادرست پوشه wp-content/uploads
رایجترین دلیل این خطا، تنظیم نادرست دسترسیها (Permissions) روی پوشه آپلودها است. پوشه wp-content/uploads باید دسترسی ۷۵۵ داشته باشد. اگر این دسترسی اشتباه باشد، وردپرس نمیتواند فایل جدیدی ایجاد کند.
۲. پر بودن فضای دیسک
اگر فضای هاست شما پر شده باشد، وردپرس نمیتواند فایل جدیدی ذخیره کند و خطای Upload Failed نمایش میدهد. این مشکل در هاستهای اشتراکی با محدودیت فضا بیشتر دیده میشود.
۳. تنظیمات PHP (upload_max_filesize و post_max_size)
اگر فایلی که میخواهید آپلود کنید بزرگتر از حد مجاز PHP باشد، این خطا رخ میدهد. مقادیر upload_max_filesize و post_max_size در php.ini باید به اندازه کافی بزرگ تنظیم شده باشند.
۴. مالکیت نادرست فایلها (File Ownership)
در برخی موارد، مالک پوشه uploads با کاربر PHP-FPM یا Apache متفاوت است. این اختلاف باعث میشود وردپرس نتواند به پوشه بنویسد.
۵. مسیر آپلود نادرست در تنظیمات وردپرس
گاهی مسیر آپلود در پایگاه داده وردپرس اشتباه ثبت شده است. میتوانید از طریق تنظیمات → رسانه مسیر پیشفرض را بررسی کنید.
روشهای رفع خطای Upload Failed
روش اول: اصلاح دسترسی پوشه Uploads
از طریق cPanel یا File Manager هاست خود به مسیر public_html/wp-content/ بروید. روی پوشه uploads راستکلیک کرده و Permissions را به ۷۵۵ تغییر دهید. گزینه «Recurse into subdirectories» را فعال کنید تا زیرپوشهها هم اصلاح شوند.
روش دوم: بررسی و افزایش محدودیت PHP
در فایل php.ini یا .htaccess مقادیر زیر را تنظیم کنید:
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
پس از تغییر، سرور وب را ریاستارت کنید.
روش سوم: بررسی فضای دیسک
از طریق cPanel بخش «Disk Usage» را بررسی کنید. اگر فضا پر است، فایلهای غیرضروری یا بکاپهای قدیمی را حذف کنید. در صورت نیاز، ارتقاء پلن هاست را در نظر بگیرید.
روش چهارم: بازنشانی مسیر آپلود
به پیشخوان → تنظیمات → رسانه بروید. مسیر پیشفرض آپلود باید خالی باشد یا wp-content/uploads تنظیم شده باشد. اگر مقدار عجیبی دارد، آن را پاک کنید و ذخیره کنید.
روش پنجم: بررسی مالکیت فایلها از طریق SSH
اگر به SSH دسترسی دارید، دستور زیر را اجرا کنید تا مالکیت پوشه uploads اصلاح شود:
chown -R www-data:www-data wp-content/uploads/
chmod -R 755 wp-content/uploads/
ابزارهای آنلاین برای تشخیص مشکل
میتوانید از ابزارهای زیر برای تشخیص مشکل استفاده کنید:
- افزونه Health Check & Troubleshooting در وردپرس برای بررسی وضعیت سایت
- بخش ابزارها → سلامت سایت در پیشخوان وردپرس
- cPanel File Manager برای بررسی دسترسیها
چرا این خطا برای سایتهای وردپرسی بیشتر اتفاق میافتد؟
سایتهای پرترافیک وردپرسی که محتوای زیادی آپلود میکنند، بیشتر در معرض این خطا هستند. انتخاب هاست مناسب نقش مهمی در جلوگیری از این مشکل دارد. یک هاست وردپرس حرفهای باید دسترسیهای فایل سیستم را به درستی پیکربندی کرده و فضای کافی در اختیار شما قرار دهد.
نقش هاست در جلوگیری از خطای Upload
یک هاست باکیفیت دسترسیهای پوشه uploads را به صورت خودکار درست تنظیم میکند و محدودیتهای PHP مناسب دارد. هاست وردپرس میهن هاستینگ با پیکربندی بهینه PHP، فضای دیسک کافی و پشتیبانی ۲۴ ساعته، از وقوع این خطاها جلوگیری میکند.
جمعبندی
خطای Upload Failed در وردپرس معمولاً به دسترسیهای نادرست پوشه uploads، پر بودن فضای دیسک یا محدودیتهای PHP مربوط میشود. با بررسی و اصلاح دسترسیها، تنظیمات PHP و فضای دیسک، این مشکل قابل حل است. اگر این مشکل به کرات تکرار میشود، بهتر است به هاست وردپرس حرفهای مهاجرت کنید که این تنظیمات را از ابتدا بهینه پیکربندی کرده است.
