مكتبة الشروحات

خطأ في تقييد open_basedir لمستخدم تم تمكين CageFS له

يحدث خطأ "open_basedir restriction in effect" عندما يحاول السكربت الوصول إلى ملف أو دليل خارج المسار المحدد في open_basedir. هذه ميزة أمان في PHP التي تحد من الملفات والدلائل التي يمكن للسكربت الوصول إليها.

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

لحل هذه المشكلة، لديك بعض الخيارات:

  1. تحديث مسار open_basedir: يمكنك تحديث توجيه open_basedir في تكوين PHP لتضمين المسارات اللازمة للمستخدم. يمكن القيام بذلك في ملف php.ini.

    مثال:

    open_basedir = /home/cagefs_user/public_html:/tmp
    تأكد من استبدال "cagefs_user" باسم المستخدم الفعلي.

  2. تحقق من ملكية الملفات والأذونات: تأكد من أن الملفات والدلائل التي يحاول السكربت الوصول إليها مملوكة للمستخدم المفعّل في CageFS ولها الأذونات المناسبة.

    استخدم أوامر chown و chmod لضبط الملكية والأذونات إذا لزم الأمر.

  3. تحقق من تكوين CageFS: تحقق من أن المستخدم تم تكوينه بشكل صحيح في CageFS وأن المسارات التي يحتاج للوصول إليها مدرجة في نظام الملفات الافتراضي له.

  4. تعطيل open_basedir (غير موصى به): على الرغم من أنه لا يُوصى بذلك لأسباب أمنية، يمكنك تعطيل قيد open_basedir مؤقتًا في تكوين PHP لمعرفة ما إذا كان يحل المشكلة. يجب أن يُستخدم هذا فقط كخطوة استكشاف مؤقتة.

    قم بالتعليق أو إزالة توجيه open_basedir في ملف php.ini.

    بعد الاختبار، أعد تمكين open_basedir وتأكد من تضمين المسارات اللازمة.

  5. التواصل مع مزود الاستضافة أو مسؤول النظام: إذا كنت غير قادر على حل المشكلة بنفسك، يُفضل التواصل مع مزود الاستضافة أو مسؤول النظام للحصول على المساعدة. قد يكون لديهم تكوينات أو سياسات محددة في مكانها.

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

  • 0 أعضاء وجدوا هذه المقالة مفيدة
هل كانت المقالة مفيدة ؟