Avatar billede Morten Nybegynder
21. juli 2005 - 22:32 Der er 13 kommentarer og
1 løsning

Document root

Hej

Jeg har et problem:

Jeg har et website kørende på en MS Server 2003 med IIS 6,0 og PHP 4.3

og her kan jeg uden problemer bruge:

include ($_SERVER["DOCUMENT_ROOT"]."/servicecontract/connect_db.php");

websitet er nu kopieret til en anden maskine som kører Win XP med IIS 5,1 og PHP 4.3 og her fungerer ovenstående kode ikke.

php.ini er sat ens op på begge maskiner - så er der nogen som umiddelbart kan sige mig hvad jeg gør forkert ???
Avatar billede nielle Nybegynder
21. juli 2005 - 22:33 #1
Hvad sker der hvis du prøver at udskrive $_SERVER["DOCUMENT_ROOT"] ?
Avatar billede Morten Nybegynder
21. juli 2005 - 22:36 #2
Jeg har prøvet med:

echo $_SERVER['DOCUMENT_ROOT'];

og den er blank...
Avatar billede nielle Nybegynder
21. juli 2005 - 22:36 #3
Prøv i stedet med realpath() eller basepath():

http://dk2.php.net/realpath
Avatar billede Morten Nybegynder
21. juli 2005 - 22:40 #4
På MS 2003 får jeg:

C:\inetpub\wwwroot - på begge linier (echo $_ser... og echo realpath(...)

Men på den anden får jeg kun c:\inetpub\wwwroot på realpath(... linien
Avatar billede nielle Nybegynder
21. juli 2005 - 22:44 #5
Tja, IT kan være noget mærkeligt ubegribeligt noget somme tider. ;^)

... men det er vel nok til at du kan komme videre, eller hvad?
Avatar billede Morten Nybegynder
21. juli 2005 - 22:46 #6
Øhhh altså bruge realpath istedet for....

Hmmm... men der må da være en forklaring på hvorfor det ikke virker??????

Men hvorom alting er så kan realpath erstatte document_root - uden problemer...
Avatar billede Morten Nybegynder
21. juli 2005 - 22:56 #7
Det fatter jeg nul af - kan du give et eksempel?
Avatar billede nielle Nybegynder
21. juli 2005 - 22:58 #8
Jeg kan ikke umiddelbart forklare hvad der er som (ikke) sker. Jeg simpelthen tro at serveren bare er konfigureret på den måde. Hvad pointen så skulle være.

Du kan jo prøve at udskrive alle de server-variable der er tilstede med:

print_r($_SERVER);

... så kan du se om der er andet som mangler.
Avatar billede Morten Nybegynder
21. juli 2005 - 22:59 #9
Jamen jeg har fuld adgang til serveren så jeg kan ændre hvad som helst - sig frem hvad som kan ændres...?
Avatar billede Morten Nybegynder
21. juli 2005 - 23:13 #10
Okay nu ændre jeg følgende i php.ini:

Error_reporting
  fra: E_ALL & ~E_NOTICE
  til: E_ALL

og

  fra: display_errors = on
  til: display_errors = off

Når jeg nu laver echo $_server['document_root'] får jeg følgende:

PHP Notice: Undefined index DOCUMENT_ROOT IN .....

hvorfor det?
Avatar billede Morten Nybegynder
22. juli 2005 - 09:50 #11
Er der slet ingen som har forslag til hvordan jeg får det til at virke?

Er der et eller andet som skal ændres på iis 5.1?
Avatar billede Morten Nybegynder
22. juli 2005 - 09:55 #12
Hmm.. jeg prøver at oprette spørgsmålet i IIS gruppen...

nielle vil du smide et svar - så jeg kan give lidt point for din ulejlighed...
Avatar billede nielle Nybegynder
22. juli 2005 - 17:47 #13
Jeg var ikke klar over at du har fuld adgang til serveren – troede at du hostede på et webhotel eller lignende. Ja, det er jo nok et konfigurationsspørgsmål, og vel at mærke ikke for PHP'en, men for selve IIS'en. I hvert fald er det ikke specifikt for PHP at man burde kende den der environment variabel.

Så ja, det er jo nok et IIS spørgsmål. Desværre kan jeg ikke lige hjælpe dig der.

Nej, ingen point til mig på dette spørgsmål. Jeg har jo ikke givet dig nogen løsning. :^)
Avatar billede Morten Nybegynder
22. juli 2005 - 20:17 #14
Jeg tror bare jeg vil anbefale dem at installerer en win 2000 eller 2003 server - tror det er fordi de køre iis på en XP....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester