
We are searching data for your request:
Upon completion, a link will appear to access the found materials.
PHP փաստաթղթի արմատը այն պանակն է, որտեղ աշխատում է PHP սցենարը: Սցենար տեղադրելիս վեբ մշակողները հաճախ պետք է իմանան փաստաթղթի արմատը: Չնայած PHP- ով գրված շատ էջեր գործարկվում են Apache սերվերի վրա, որոշներն աշխատում են Microsoft IIS- ի տակ Windows- ով: Apache- ն ընդգրկում է շրջակա միջավայրի փոփոխական, որը կոչվում է DOCUMENT_ROOT, բայց IIS- ը ոչ: Արդյունքում, կա PHP փաստաթղթի արմատը տեղակայելու երկու եղանակ:
Գտեք PHP փաստաթղթի արմատը Apache- ի տակ
Փաստաթղթի արմատներին տեխնիկական աջակցություն ուղարկելու փոխարեն և սպասում եք, որ ինչ-որ մեկը կպատասխանի, կարող եք օգտագործել մի ստանդարտ PHP սցենար `getenv ()- ով, որն Apache սերվերների վրա դյուրանցում է տրամադրում փաստաթղթի արմատին:
Կոդի այս մի քանի տողերը վերադարձնում են փաստաթղթի արմատը:
Գտեք PHP փաստաթղթի արմատը IIS- ի տակ
Microsoft- ի ինտերնետային տեղեկատվական ծառայությունները ներկայացվել են Windows NT 3.5.1- ի հետ և այն ներառված է Windows- ի մեծ մասի թողարկումներից այն ժամանակվանից, ներառյալ Windows Server 2016 և Windows 10. Այն չի տրամադրում դյուրանցում փաստաթղթի արմատին:
IIS- ում ներկայումս կատարվող սցենարի անունը գտնելու համար սկսեք այս կոդով.
տպել getenv («SCRIPT_NAME»);
որը վերադառնում է արդյունք, որը նման է հետևյալի.
/product/description/index.php
որը սցենարի ամբողջական ճանապարհն է: Դուք չեք ցանկանում ամբողջական ճանապարհը, պարզապես ֆայլի անունը SCRIPT_NAME- ի համար: Այն ստանալու համար օգտագործեք.
տպել realpath (բազայի անուն (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, strpos ($ absolutepath,
$ localpath));
// օգտագործման օրինակ
ներառել ($ docroot. "/ ներառում է / config.php");
Այս մեթոդը, չնայած ավելի բարդ է, գործում է ինչպես IIS, այնպես էլ Apache սերվերների վրա: