همان طور که میدونید، خطای Upload: Failed to write file to disk یا به فارسی نوشتن فایل در دیسک انجام نشد یکی از رایج ترین خطا های وردپرس می باشد.اگر در وردپرس خود هنگام آپلود فایلها ارور ‘Upload: Failed to write file to disk’ را مشاهده میکنید، برای رفع این مسئله به ادامۀ متن دقت کنید.
اول از اینکه این خطا یکی از رایجترین خطاها در سیستم وردپرس است و ممکن برای کسانی که تازه با سیستم وردپرس کار میکنند، بسیار آزاردهنده باشد. در این مقاله اکسیژن طراحی سایت Msina ابتدا به چگونگی ایجاد این ارور و سپس راه حل مورد نظر را برای از بین بردن این خطا به شما خواهیم گفت.
همیشه به راحتی فایل ها و نوشته های خود را در وردپرس آپلود کردید اما برای برخی این خطا تازگی دارد و نتوانسته اند پرونده ی تازه ای در پیشخوانوردپرس آپلود کنند خب نگران نباشید برای شما دوستان عزیز راه حل ساده ای مثال آموزش های قبل توضیح خواهم داد.
کاربران مبتدی با دیدن این خطا سریعا دلزده و ناراحت می شوند. اما دیگر با بکار بردن این روش سریعا مشکل را یرطرف می کنند و به کار خود ادامه می دهند. در اصل زمانی که با این خطا رو به رو می شوید بیانگر این است که خطای نوشتن پرونده روی دیسک برای سایت وردپرسی شما رخ داده است.
عوامل خطای Failed to write file to disk
این خطا ممکن است به دلایل مختلف رخ دهد. با این حال، یکی از رایج ترین موارد که میتواند باعث بروز این خطا شود، مجوزهای پوشه نادرست است. هر فایل و پوشهای در وب سایت شما دارای مجموعه ای از مجوزهاست. وب سرور شما دسترسی به فایل ها را از طریق همین مجوزها کنترل میکند. مجوز های غیر مجاز به یک پوشه می تواند توانایی شما برای نوشتن فایل ها در سرور را از بین ببرد و باعث ایجاد این خطا بشود.
در این مقاله از اکسیژن طراحی سایت Msina زمانی که این خطا رخ می دهد دلایل مختلفی دارد، اما رایج ترین دلیل سطح دسترسی پوشه ها به درستی تعیین نشده است تنها قابلیت خواندن پوشه فعال می باشد. هر فایل و پوشه در وب سایت شما دارای مجموعه ای از سطح دسترسی ها می باشد، وب سرور شما دسرسی به فایل ها را براساس سطح دسترسیشون کنترل می کند.
تعیین سطح دسترسی نادرست باعث می شود وب سرور نتواند فایل های مورد نظرتون در پوشه دلخواه خود ایجاد و اضافه کند و مشکل در آپلود پرونده یا فایل ها بوجود می آید.
این به این معنی است که وب سرور شما نمیتواند فایلهای جدیدی را در پوشهای خاص ایجاد یا اضافه کند. شما ممکن است بعذ از آپلود کردن تصاویر از پنل مدیریت خود این خطا را با یکی از نوشتههای زیر دریافت کنید:
- وردپرس نمیتواند روی دیسک بنویسد. (WordPress failed to write to disk)
- آپلود فایل روی هاست شما با شکست مواجه شده است ، امکان نوشتن فایل وجود ندارد.
- در پوشه wp-content/upload نمی توانید فایلی ایجاد کنید.
آموزش رفع خطای “Upload: Failed to write file to disk” در وردپرس
اول از همه برای وارد شدن به سایت وردپرسی خود از سرویش گیرندۀ FTP استفاده کنید. در این مقالۀ آموزشی ما از سرویس FTP FileZilla استفاده کردیم.حالا اگر از سایر سرویس های گیرنده FTP استفاده میکنید ممکن است تفاوت کمی با سرویس مورد نظر ما داشتهباشد.
زمانی که از طریق این سرویس متصل شدیم باید روی پوشۀ wp-content کلیک راست کرده و از آنجا گزینۀ مجوز فایلها (file permissions) را انتخاب کنیم.
سطح دسترسی زیر پوشه های Wp-Content
حال سطح دسترسی تعیین شده بر روی تمام زیر پوشه های wp-content اعمال می شود. همچنین این نکته را هم بدانید که سطح دسترسی فایل ها را به 644 تغییر دهید. مجددا به پیشخوان وردپرس برگردید و یک پرونده آپلود کنید و خواهید دید که خطای شما رفع شده و فایل شما در رسانه وردپرس آپلود شده است.
حالا مجوزهای فایل به صورت یک کادر محاورهای در سرویس FTP شما نمایش پیدا خواهد کرد. به این صورت مجوزهای فایل برای صاحب سایت و گروهی و یا برای عموم نمایش داده خواهد شد. به تصویر زیر توجه کنید. (:
شما باید در فیلد عددی ۷۵۵ را وارد کنید. پس از آن، شما باید کادر کناری ‘Recurse to subdirectories’ را علامت بزنید و در نهایت باید بر روی گزینۀ ‘Apply to directories only’ کلیک کنید. بعد از اعمال تغییرات روی دکمۀ ok کلیک کنید.
حالا سرویس گیرندۀ FTP شمااجازه دسترسی به پوشۀ مجوزها را به ۷۵۵ میدهد و آن را به تمام زیرپوشههای داخل wp-content اعمال میکند. بعد از این مرحله، یک بار دیگر روی فایل wp-content کلیک راست کرده و مجوز فایلها را انتخاب کنید.
حالا میخواهیم مجوزها را برای فایلها تغییر دهیم. در فیلد عددی اینبار ۶۴۴ را وارد کنید و سپس کادر کنار “Recurse to subdirectories” را چک کنید. در آخر روی گزینۀ ‘Apply to files only’ کلیک کنید و دکمۀ ok را بزنید.
باید عدد ۷۵۵ را در Numeric Value وارد کنید. همچنین بررسی کنید که “Recurse into subdirectories” علامت زده شده باشد. در نهایت گزینه “Apply to directories only” را علامت بزنید. سپس بر روی دکمه OK کلیک کنید تا تغییرات اعمال شود.سطح دسترسی ۷۵۵ خطای “Upload: Failed to write file to disk” در وردپرس را رفع کرده و به شما امکان بارگذاری فایل و تصاویر را میدهد.
اکنون سرویس گیرندۀ FTP، تنظیمات مجوز فایل ۶۴۴ را بر روی تمام فایلها در پوشۀ wp-content اعمال خواد کرد. برای اطمینان از این که دیگر با این مشکل درگیر نیستید، یکبار دیگر به سایت وردپرسی خود مراجعه کنید و سعی کنید فایلی را آپلود کنید. اگر هنوز خطا را مشاهده میکنید، باید با ارائه دهندۀ میزبانی وردپرس خود تماس بگیرید و از آنها بخواهید فایل دایرکتوری موقت را خالی کنند.
پس نتیجه می گیریم که؛
وردپرس تصاویر خود را با استفاده از PHP بارگذاری می کند که ابتدا فایل ها را به یک دایرکتوری موقت در سرور وب شما ذخیره می کند و پس از آن فایلهای مورد نظر را به پوشه بارگذاری وردپرس خود منتقل می کند.
اگر این دایرکتوری موقت پر بشود و به هر دلیلی در ایجاد آن مشکلی به وجود بیاید، سیستم وردپرس قادر نخواهد بود که نوشتهای را در دیسک جای دهد و شما با این خطا مواجه خواهید شد.
این پوشه موقت در سرور شما واقع شده است و در اغلب موارد شما میتوانید با استفاده از سرویس گیرندۀ FTP به آن دسترسی داشته باشید. هر وقت راه حلهای بالا کار نکرد، با سرویس میزبانی هاست خود تماس بگیرید و از آنها بخواهید این دایرکتوری موقت را برای شما خالی کنند. (: