ინფორმაცია

PHP დოკუმენტის საფუძვლის პოვნა

PHP დოკუმენტის საფუძვლის პოვნა

PHP დოკუმენტის root არის საქაღალდე, სადაც მუშაობს PHP სკრიპტი. სკრიპტის დაყენებისას, ვებ დეველოპერებს ხშირად უნდათ იცოდნენ დოკუმენტის root. მიუხედავად იმისა, რომ მრავალი გვერდია სკრიპტირებული PHP- ით დაშვებულია Apache სერვერზე, ზოგი Windows- ში მუშაობს Microsoft IIS. Apache შეიცავს გარემოს ცვლას, რომელსაც ეწოდება DOCUMENT_ROOT, მაგრამ IIS არა. შედეგად, არსებობს PHP დოკუმენტის ფესვის განლაგების ორი მეთოდი.

იპოვნეთ PHP დოკუმენტის Root ქვეშ Apache

იმის ნაცვლად, რომ დაუკავშირდეთ ელ.ფოსტს ტექნიკური მხარდაჭერისთვის და დაელოდოთ ვინმეს პასუხს, შეგიძლიათ გამოიყენოთ მარტივი PHP სკრიპტი getenv- ით (), რომელიც უზრუნველყოფს მალსახმობას Apache სერვერებზე დოკუმენტის rootში.

კოდის ამ რამდენიმე სტრიქონს უბრუნებს დოკუმენტის ფესვს.

PHP დოკუმენტის Root– ის IIS– ის მოძებნა

Microsoft– ის ინტერნეტ – სერვისული სერვისები დაინერგა Windows NT 3.5.1– ით და მას შემდეგ შეტანილია Windows– ის უმეტეს ნაწილში, მათ შორის Windows Server 2016 – სა და Windows 10 – ში. ეს არ შეიცავს მალსახმობას დოკუმენტის ფესვზე.

IIS- ში ამჟამად შესრულებული სკრიპტის სახელის მოსაძებნად, დაიწყეთ ამ კოდით:

printen getenv ("SCRIPT_NAME");

რაც ბრუნდება შედეგი მსგავსი:

/product/description/index.php

ეს არის სცენარის სრული გზა. თქვენ არ გსურთ სრული ბილიკი, მხოლოდ ფაილის სახელი SCRIPT_NAME. ამის მისაღებად გამოიყენეთ:

რეპუტაციის ბეჭდვა (ბაზის სახელი (getenv ("SCRIPT_NAME")));

რაც ამ ფორმატით ბრუნდება შედეგს:

/usr/local/apache/share/htdocs/product/description/index.php

საიტის ფარდობითი ფაილის ამოსაღებად და დოკუმენტის ფესვზე მისასვლელად, გამოიყენეთ შემდეგი კოდი ნებისმიერი სკრიპტის დასაწყისში, რომელსაც უნდა იცოდეს დოკუმენტის ფესვი.

$ localpath = getenv ("SCRIPT_NAME");

$ absolutepath = realpath ($ localPath);

// დააფიქსირეთ Windows- ის შემცირება

$ absolutepath = str_replace ("", "/", $ absolutepath);

$ docroot = substr ($ absolutepath, 0, სტროფები ($ აბსოლუტური გზა,

$ ადგილობრივი გზა));

// გამოყენების მაგალითი

მოიცავს ($ docroot. "/ მოიცავს / config.php");

ეს მეთოდი, თუმცა უფრო რთული, მუშაობს როგორც IIS, ასევე Apache სერვერებზე.