سؤال

لقد بحثت في العديد من المواضيع حتى الآن ولكن يبدو أنني لم أجد حلاً.داخل أحد نصوص 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

الفكرة هي أن هذا سيكون في رمز ترميز عام من نوع ما يتم تضمينه في كل مرة يتم فيها تشغيل التطبيق.

مستندات Magic Constants

نصائح أخرى

تحديث

في ملف التكوين، يمكنك فقط إلحاق 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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top