
We are searching data for your request:
Upon completion, a link will appear to access the found materials.
PHP dokumenta sakne ir mape, kurā darbojas PHP skripts. Instalējot skriptu, tīmekļa izstrādātājiem bieži jāzina dokumenta sakne. Lai gan daudzas lapas, kas ir skriptētas ar PHP, darbojas uz Apache servera, dažas Windows operētājsistēmā darbojas ar Microsoft IIS. Apache iekļauj vides mainīgo ar nosaukumu DOCUMENT_ROOT, bet IIS to nedara. Tā rezultātā PHP dokumenta saknes atrašanai ir divas metodes.
PHP dokumentu saknes atrašana zem Apache
Tā vietā, lai nosūtītu pa e-pastu tehniskajam atbalstam par dokumenta sakni un gaidītu, kad kāds atbildēs, varat izmantot vienkāršu PHP skriptu ar getenv (), kas nodrošina dokumenta saknes saīsni uz Apache serveriem.
Šīs dažas koda rindiņas atgriež dokumenta sakni.
PHP dokumentu saknes atrašana zem IIS
Microsoft interneta informācijas pakalpojumi tika ieviesti ar Windows NT 3.5.1 un kopš tā laika ir iekļauti lielākajā daļā Windows izlaidumu, ieskaitot Windows Server 2016 un Windows 10. Tas nepiedāvā dokumenta saknes saīsni.
Lai atrastu pašreiz izpildītā skripta nosaukumu IIS, sāciet ar šo kodu:
print getenv ("SCRIPT_NAME");
kas dod rezultātu, kas līdzīgs:
/product/description/index.php
kas ir pilns skripta ceļš. Jūs nevēlaties pilnu ceļu, bet tikai faila SCRIPT_NAME nosaukumu. Lai to iegūtu, izmantojiet:
print realpath (basename (getenv ("SCRIPT_NAME")));
kas atgriež rezultātu šādā formātā:
/usr/local/apache/share/htdocs/product/description/index.php
Lai noņemtu kodu, kas norāda uz vietnes relatīvo failu, un nonāktu dokumenta saknē, jebkura skripta sākumā izmantojiet šo kodu, kuram jāzina dokumenta sakne.
$ localpath = getenv ("SCRIPT_NAME");
$ absolūtais ceļš = realpath ($ localPath);
// labot Windows slīpsvītras
$ Absolūtā Path = str_replace ("", "/", $ Absolūtie);
$ docroot = substr ($ absolūtais ceļš, 0, strpos ($ absolūtais ceļš,
$ localpath));
// lietošanas piemērs
iekļaut ($ docroot. "/ iekļauj / config.php");
Lai arī šī metode ir sarežģītāka, tā darbojas gan IIS, gan Apache serveros.
I cannot participate in the discussion now - no free time. Osvobozhus - make sure your opinion on this issue.
Es atvainojos, bet, manuprāt, jums nav taisnība. Apspriedīsim. Raksti man PM, sazināsimies.
Yes, even the crowd cannot start) Boring)
Sīkumi!