إدارة وحماية المواقع

تشخيص Unable to create directory في ووردبريس: فحص الكتابة داخل uploads

ابدأ بفحص رفع ملف صغير، ثم ميز بين صلاحيات المجلد ومساحة الاستضافة والمسار غير الصحيح.

تقرير يثبت نجاح إنشاء ملف في uploads وفشله في مسار غير صالح


تحاول رفع صورة فيظهر «Unable to create directory»؟ تعني الرسالة أن ووردبريس لم يستطع إنشاء المجلد المطلوب، وقد يكون السبب صلاحياته أو المساحة المتاحة أو مسارا غير صحيح. سنبدأ بفحوص بسيطة من لوحة التحكم، ثم نحدد المعلومات التي ترسلها للاستضافة إذا احتجت مساعدتها.

مجلد uploads هو المكان المعتاد لحفظ الصور والملفات المرفوعة. وقد يستطيع الموقع عرض الصور القديمة لكنه يعجز عن حفظ صورة جديدة؛ قراءة الملفات والكتابة فيها صلاحيتان مختلفتان. لذلك لا يكفي أن ترى الصور القديمة لتستبعد مشكلة الكتابة.

القراءة ليست الكتابة

قد يعرض ووردبريس الصور الموجودة لأنه يستطيع قراءتها، لكنه يفشل عند رفع صورة أو إنشاء مجلد شهر جديد. لذلك نختبر ثلاث طبقات: هل المسار موجود؟ هل يراه PHP قابلا للكتابة؟ وهل يستطيع إنشاء ملف صغير ثم حذفه؟ الاختبار الثالث يحسم حالات تكون فيها نتيجة الصلاحية النظرية مختلفة عن التنفيذ بسبب المالك أو ACL أو قيود الاستضافة.

خطة التشخيص دون cPanel

  1. من الأدوات ← صحة الموقع ← معلومات، دون مسار uploads وحالة نظام الملفات إن ظهرت.
  2. افتح الوسائط وحاول رفع ملف صغير معروف النوع. سجل الرسالة والوقت، ولا تكرر عشرات المحاولات.
  3. إذا لاحظت أن تحديث الإضافات يفشل أيضا، دون ذلك للدعم؛ لا تبدأ تحديثا جديدا لمجرد اختبار الصلاحيات.
  4. أرسل للاستضافة المسار والوقت والعملية التي فشلت، واطلب فحص مالك المجلد وصلاحيات حساب PHP ومساحة القرص وInodes.
  5. بعد الإصلاح ارفع صورة، أنشئ نسخة صغيرة، ثم احذف الملف التجريبي من الوسائط.

لماذا لا ننصح بـ777؟

فتح الصلاحية للجميع قد يخفي السبب ويزيد مساحة الهجوم. القيم المناسبة تختلف حسب طريقة تشغيل PHP والمالك والمجموعة، لذلك لا توجد قيمة واحدة ننسخها لكل استضافة. المطلوب أن يسمح للبرنامج الذي يشغل الموقع بالكتابة في المجلدات اللازمة فقط، وأن تبقى ملفات الإعداد الحساسة أشد تقييدا. إذا لم تملك SSH أو مدير ملفات، فتصحيح المالك عمل الاستضافة وليس إضافة داخل ووردبريس.

تمييز الصلاحيات عن المساحة

امتلاء المساحة أو بلوغ الحد الأقصى لعدد الملفات والمجلدات، الذي تسميه الاستضافة Inodes، قد يسبب فشل الكتابة أيضا. كذلك قد تمنع قاعدة open_basedir مسارا خارج النطاق. اطلب من الدعم الأرقام لا عبارة «كل شيء جيد»: المساحة الحرة، عدد Inodes، مالك uploads، وحساب PHP. ثم أعد تجربة واحدة. هذا يوفر دليلا يصلح أيضا عند متابعة مقال أخذ نسخة كاملة دون cPanel.

تفاصيل التجربة ونتيجتها

تاريخ التجربة: 19 أغسطس 2026؛ ووردبريس: 7.0.4؛ PHP: 8.3.30؛ مكان التنفيذ وأدواته: wp-content/uploads داخل النسخة المحلية.

استخدمنا wp_is_writable ثم أنشأنا ملف Probe مؤقتا وحذفناه. نجحت الكتابة داخل uploads، بينما فشلت في مسار Z غير الموجود كما توقعنا.

تقرير يثبت نجاح إنشاء ملف في uploads وفشله في مسار غير صالح
تقرير يثبت نجاح إنشاء ملف في uploads وفشله في مسار غير صالح — تجربة GZ تقنية بتاريخ 19 أغسطس 2026.

ما الذي تثبته هذه البطاقة؟

هذه بطاقة اختبار محلي مستقل مسجل بتاريخ 19 أغسطس 2026، وليست قياسا جديدا للموقع المنشور. فحصنا wp_is_writable ثم أنشأنا ملفًا مؤقتًا وحذفناه، وقارنّاه بمسار غير موجود.

عدم وجود المسار ليس إثباتا لرفض صلاحياته. هذا الفحص يثبت نجاح كتابة ملف في uploads وفشل مسار غير موجود، ولا يغير الملكية أو الصلاحيات ولا يبرر استخدام 777.

بطاقة دليل أصلية من إعادة التحقق المحلية لمقال فشل إنشاء المجلد أو الكتابة داخل uploads، وتعرض طريقة الاختبار والنتيجة المقاسة.
اختبار محلي مستقل — 19 أغسطس 2026: uploads قابل للكتابة: نعم — اختبار الملف: نجح — المسار المحجوب: فشل كما هو متوقع

المصادر