DOCUMENT_ROOT غير مكتمل، مجلد المجال مفقود
-
28-10-2019 - |
سؤال
لقد بحثت في العديد من المواضيع حتى الآن ولكن يبدو أنني لم أجد حلاً.داخل أحد نصوص php الخاصة بي، أحاول الحصول على جذر مستند الخادم ولكن القيمة التي أحصل عليها لم تكتمل، فهو ببساطة يفتقد مجلد المجال.أعتقد أن ذلك يرجع إلى مشاركة الاستضافة أو أي شيء آخر.
هذه هي الطريقة الحالية التي أستخدمها:
$root = realpath($_SERVER["DOCUMENT_ROOT"]);
والمسار الذي أحصل عليه هو مثل:
/home/content/01/0151247/html
على الرغم من أنني أعلم أنه يجب أن يكون مثل:
/home/content/01/0151247/html/mydomain
أعلم أنني قارنته مع SCRIPT_NAME وأرى المجال الخاص بي هناك في المسار.
آمل أن يتمكن شخص ما من توجيهي.
شكرًا لك وآسف على طرح نفس السؤال ألف مرة أخرى على المجتمع، لقد جربت بالفعل أشياء من هنا، ولا شيء يساعدني حتى الآن.
تحديث
لسوء الحظ لا أستطيع ببساطة استخدام ملف الفهرس الخاص بي مع دير نظرًا لأنه إعداد WordPress وأنا أعمل على مجلد منفصل حيث أقوم بتضمين بعض وظائف WordPress ولكني أحتاج إلى document_root.إذا كان ذلك من شأنه أن يساعد.
تحديث
من الواضح أن الطريقة التالية قد حلت حالتي، ربما ستساعد شخصًا ما يومًا ما:
realpath($_SERVER["SUBDOMAIN_DOCUMENT_ROOT"]);
في الأساس بسبب إعداد الخادم والمجال الذي تم تكوينه كمجال فرعي.
شكرا لجميع الذين شاركوا.
المحلول
قبل إصدار PHP 5.3 ، يمكنك وضع ملف في الدليل الذي تريد مساره وتحديد ثابت: Genacodicetagpre
بعد 5.3 يمكنك فعل ما يلي: Genacodicetagpre
الفكرة هي أن هذا سيكون في رمز ترميز عام من نوع ما يتم تضمينه في كل مرة يتم فيها تشغيل التطبيق.
نصائح أخرى
تحديث
في ملف التكوين، يمكنك فقط إلحاق DOCUMENT_ROOT
عامل:
$_SERVER['DOCUMENT_ROOT'] = $_SERVER['DOCUMENT_ROOT'] . '/mydomain';
وهذا يجب أن يعتني بالأمر نيابةً عنك.
الحل القديم
ال DOCUMENT_ROOT
هو متغير بيئة تم تعيينه بواسطة الخادم.لذا، إذا كان هذا على استضافة مشتركة، فلا يمكنك تغييره.البديل هو تعيين الثابت الخاص بك عليه، لذلك في a config
اكتب الملف المضمن في صفحاتك، ويمكنك القيام بشيء مثل:
define('DOCUMENT_ROOT', $_SERVER['DOCUMENT_ROOT'] . '/mydomain');
ثم استخدم هذا الثابت بدلاً من $_SERVER['DOCUMENT_ROOT']
.الخيار الآخر هو الاتصال بمضيفك والاستفسار عنه، ربما كان ذلك سهوًا من جانبه وسيقوم بإصلاحه.
يحرر
ربما باستخدام __DIR__
كما نشر الآخرون عنها هي الطريقة الأفضل، حيث أن DOCUMENT_ROOT
يمكن ضبطها على عناصر مختلفة، وعلى الأقل مع __DIR__
يجب أن تحصل على دليل دقيق في كل مرة.
شخصيًا ، للحصول على جذر المجلد في PHP ، استخدم هذا في ملف الفهرس الخاص بي: Genacodicetagpre