سلام دوستان پشتیبان سایت ؛ بیشتر توسعه دهندگان وردپرس در هنگام با پیامی مبنی بر “آیا دایرکتوری اصلی توسط سرور قابل نوشتن است؟” مواجه میشوند که یک خطا میباشد. اکثریت توسعه دهندگان وردپرس هنگام برخورد با خطای unable to create directory در وردپرس به طور غریزی مجوزهای آپلود فایل به سرور را بررسی میکنند. که در برخی مواقع برای رفع مشکل کافی میباشد.

خطای unable to create directory در وردپرس
به جز مجوزهای آپلود فایل به سرور دلایل دیگری نیز باعث رخ دادن این خطا میشوند. برای مثال اگر شما وبسایت وردپرسی خود را به میزبانی جدیدی انتقال داده باشید ممکن است این خطا برای شما نمایش داده شود. به هر حال مهم نیست که چه چیزی باعث رخ دادن آن میشود، در این مقاله از پشتیبان وردپرس به شما نشان خواهیم داد که چگونه در عرض چند دقیقه آن را برطرف نمایید.
1- تغییر دایرکتوری آپلود در تنظیمات وردپرس
اگه اخیرا شما وبسایت وردپرسی خود را به میزبانی وردپرس جدید منتقل کردهاید. به احتمال زیاد مسیر دایرکتوری آپلود وردپرس شما اشتباه است. یک راه ساده برای عیب یابی آن و رفع خطای unable to create directory در وردپرس بررسی تنظیمات این بخش میباشد.برای انجام این کار، به پنل مدیریت وبسایت وردپرسی خود وارد شوید. سپس، در تب تنظیمات، رسانه (Media) را انتخاب کنید. در زیر بخش آپلود فایل، باید شما فیلدی با نام ذخیره فایلهای آپلود در این پوشه را مشاهده کنید. حالا مسیر دایرکتوری آپلود خود را بررسی نمایید. برای مثال مسیر کامل دایرکتوری آپلود در وردپرس همانند آدرس زیر میباشد:
/home/u694443746/public_html/wp–content/uploads

سپس با فایل منیجر هاست و یا از طریق FTP بررسی کنید که آیا مسیر دایرکتوری آپلود درست است و یا خیر. به راحتی به فولدر مورد نظر رفته و مسیر را بررسی کنید. در فایل منیجر هاست، مسیر در سمت چپ بالای صفحه قابل مشاهده میباشد. هنگامی که مطمئن شدید که مسیر ارائه شده درست است، بر روی دکمه Save کلیک کرده و دوباره سعی کنید فایلهای مورد نظر خود را آپلود نمایید.اگر قادر به مشاهده مسیر دایرکتوری آپلود در ناحیه مدیرت وردپرس خود نیستید، میتوانید با ویرایش فایل confing وردپرس این کار را نیز انجام دهید. برای انجام آن ابتدا با استاده از فایل منیجر هاست و یا FTP فایل wp-confing.php را باز کنید و سپس کد زیر را به آن اضافه نمایید:
define( ‘UPLOADS’, ‘wp-content/uploads’ );
توجه داشته باشید که کد بالا را باید قبل از خط کد زیر قرار دهید:
require_once(ABSPATH . ‘wp-settings.php’);
حال مجدد سعی کنید فایلهای خود را آپلود نمایید. اگر هنوز خطا پا برجا میباشد روش دوم را امتحان کنید.
2- تغییر مجوز فولدر برای رفع خطای unable to create directory در وردپرس
با وجود این که مراحل گفته شده در بخش اول را کامل بررسی کردهاید و مطمئن هستید که مسیر دایرکتوری آپلود درست است. اما هنوز ارور ” Is its parent directory writable by the server? ” را مشاهده میکنید؟برای رفع خطای unable to create directory در وردپرس بهتر است پیکربندی مجوزهای فولدر آپلود خود را بازنشانی نمایید. برای این کار میتوانید از برنامههای FTP، مانند FileZilla یا File Manager استفاده کنید. مراحل زیر برای بازنشانی مجوزهای فولدر آپلود با استفاده از برنامه FileZilla آماده شده است.
- به حساب FileZilla خود وارد شوید.
- به محل نصب وردپرس در دایرکتوری خود مراجعه کرده و پوشه wp-content را باز نمایید.
- در داخل برنامه بر روی دایرکتوری آپلود راست کلیک کنید.
- گزینه File Permissions را انتخاب کنید تا پنجره مورد نظر باز شود.
- فیلد Numeric value را یافته و عدد 755 را درون آن وارد نمایید.
- گزینه Recurse into subdirectories اگر تیک نخورده است را تیک بزنید.
گزینه Apply to directories only را نیز انتخاب کرده و در پایان بر روی Ok کلیک نمایید.

باز نشانی مجوزهای فولدر آپلود به 755 تنها بر روی این فولدر اعمال نمیشود، بلکه تمامی فولدرهای زیرین آن نیز دارای مجوز 755 خواهند شد. همانطور که در ابتدای این آموزش گفته شد بازنشانی مجوز فولدر آپلود تنها بعضی مواقع میتواند مشکل را رفع نماید.در نهایت اگر هر دو روش ذکر شده کار نمیکند، میتوانید راه حل زیر را نیز امتحان کنید: مجوز فولدر آپلود را از 755 به 777 تغییر دهید.

این مجوز به هر کسی اجازه read/write را برای این پوشه میدهد. حال، فایل جدیدی را آپلود نمایید. بعد از آن مجوز را مجدد به 755 بازگردانید.
3- رفع خطای ” Is its parent directory writable by the server? ” با استفاده از VPS
اگر شما وردپرس خود را در VPS راه اندازی کردهاید و دسترسی SSH دارید. میتوانید راه حل زیر را نیز امتحان کنید. توجه داشته باشید که آموزش زیر برای VPS لینوکس میباشد که از سرور Apache استفاده میکند.
قبل از اینکه شروع کنیم، اجازه دهید چند پیش زمینه در این رابطه را بیان کنم: به طور پیش فرض، وب سرور Apache شما برای دسترسی به فایلها و پوشهها از www-data user و www-data group استفاده میکند. احتمال دارد که پوشه آپلود در واقع متعلق به www-data نباشد، که به طور طبیعی از مجوز نوشتن (Write) در پوشه جلوگیری میکند.
برای این کار باید از فرمان لینوکس نشان داده شده در زیر استفاده کنید.
- ابتدا، به VPS خود از طریق SHH متصل شوید.
- به پوشه wp-content بروید. فرض میکنیم که وردپرس شما در دایرکتوری public_html نصب شده است. cd public_html/wp-contents
- اکنون مالک (owner) و گروه (group) را به www-data تغییر دهید. chown -R www-data:www-data plugins
- درست مانند حساب میزبانی مشترک، ممکن است مجوزهای پوشه برای وردپرس به منظور نوشتن (مجوز write) درون پوشه افزونه کافی نباشد. در حالی که در داخل پوشه wp-content هستید، دستور زیر را اجرا کنید. chmod 755 -R uploads
این فرمان مجوزها را برای افزونهها و تمام زیر شاخههای درون آن را به 755 تنظیم می کند.
نتیجه پایانی
دریافت خطای unable to create directory در وردپرس میتواند بسیار ناراحت کننده باشد، به ویژه اگر فقط مجوزهای فولدر آپلود را بازنشانی نمایید. در این آموزش روشهای کاربردی برای رفع این خطا ذکر شد که امیدواریم شما را در رفع این خطا یاری نماید. [button text=”خدمات تحلیل و عیب یابی وردپرس” color=”alert” radius=”10″ expand=”true” link=”https://wphelper.ir/analysis-and-troubleshooting/” target=”_blank”]