Avatar billede dugi Nybegynder
16. januar 2005 - 22:46 Der er 35 kommentarer og
1 løsning

Session problem med PHP5 på IIS 5.1

Godaften Eksperter.

Jeg tillader mig hermed at lave et cross-post, da jeg mener mit problem både er relevant til IIS katagorien, såvel som PHP.

Med det sagt, vil jeg bede jer om hjælp til følgende problem.


Jeg har lige været ude og investerer i et sprit ny Windows XP Proffesional SP2 - Dansk Version, operativ system. Det første jeg gjorde var at installere IIS 5.1 som fulgte med. Med en komplet tom computer har jeg kørt PHP 5.0.3 installeren, download fra www.php.net og fulgt opsætningen til punkt og prikke.
- Alt fungere.

Så installerede jeg MySQL og dette virker da også nu.
MEN jeg er støt på et problem.

Når jeg åbner en side, som skal bruge sessions opstår følgende fejl:


Warning: session_start() [function.session-start]: open(C:\Programmer\PHP\sessiondata\sess_e75767fc0d69fab306c4b10f3321b64b, O_RDWR) failed: Permission denied (13) in C:\Documents and Settings\Morten Rugaard\Dokumenter\Mine Websteder\Datingnu\index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Documents and Settings\Morten Rugaard\Dokumenter\Mine Websteder\Datingnu\index.php:2) in C:\Documents and Settings\Morten Rugaard\Dokumenter\Mine Websteder\Datingnu\index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Documents and Settings\Morten Rugaard\Dokumenter\Mine Websteder\Datingnu\index.php:2) in C:\Documents and Settings\Morten Rugaard\Dokumenter\Mine Websteder\Datingnu\index.php on line 2


Hvad kan forudsagde denne fejl.
Mit første gæt ville lyde på jeg ikke have skrive rettigheder, siden den siger "... failed: Permission denied (13)", men jeg er administrator og den eneste bruger på computeren, og IIS har hak i Gennemsyn af mapper, Læseadgang, Skriveadgang osv - alt hvad man kan "afhakke".

Nogle som har oplevet noget ligende eller som måske har en løsning? Er det noget med IIS opsætningen eller PHP opsætning?

På forhånd tusind tak, for hjælpen.

Med Venlig Hilsen
Morten Rugaard
Avatar billede basementjack Nybegynder
16. januar 2005 - 22:49 #1
Skal man ikke normal køre PHP på en Apache server og ikke en IIS?...
Avatar billede dugi Nybegynder
16. januar 2005 - 22:55 #2
ikke umiddelbart.
Man kan snildt kører PHP på IIS.

Grunden til jeg gør det, er at jeg både skal kunne kode ASP/ASP.NET og PHP.
Så er IIS eneste løsning :)
Avatar billede morteeart Nybegynder
16. januar 2005 - 22:56 #3
basementjack nej, det er ASP skal SKAL køres på IIS , da chiliasp er noget bras :P

PHP kan køres alle mulige steder, men IIS er den dårligeste servertype i verden til at hånterer php :P

Anyway din fejl kan løses med www.php.net/ob_start
Avatar billede morteeart Nybegynder
16. januar 2005 - 22:56 #4
eller ved at lade være med at skrive html før du sender header infomationer :P
Avatar billede basementjack Nybegynder
16. januar 2005 - 22:57 #5
Bare i orden.. ;)
Avatar billede erikjacobsen Ekspert
16. januar 2005 - 22:57 #6
Næppe, morteart. Du skal sørge for at brugeren IUSRxxxxxx har skriveadgang til C:\Programmer\PHP\sessiondata\
Avatar billede dugi Nybegynder
16. januar 2005 - 22:58 #7
skulle jeg også mene erikjacobsen, men da jeg er eneste bruger eller dvs. administrator burde jeg jo have det uanset hvad?
Avatar billede morteeart Nybegynder
16. januar 2005 - 22:59 #8
erikjacobsen: Cannot send session cookie - headers already sent by plejer at løses med ob_start();  :)

Men i windåse har man jo normalt skriverettigheder til alting ?-)
Avatar billede erikjacobsen Ekspert
16. januar 2005 - 23:00 #9
Nej, du er ikke eneste bruger på maskinen. Der er automatisk oprettet en
bruger ISURxxxxxx hvor jeg ikke ved hvad xxxxx er. Den skal du give skrivetilladelse
til bemeldte katalog.
Avatar billede dugi Nybegynder
16. januar 2005 - 23:00 #10
morteeart -> Jeg udskriver intet HTML før efter alt mit php. som du kan se ligger fejlen på linie 2. og linie 1 er <?php ...

Tror desuden også fejlen opstår fordi den ikke laver nogle sessions også går det hele galt.
Avatar billede morteeart Nybegynder
16. januar 2005 - 23:01 #11
forresten, så kan man godt lave både IIS og apache på samme pc (har jeg)
Og så bare tænde og slukke alt efter hvad man koder.
Avatar billede dugi Nybegynder
16. januar 2005 - 23:05 #12
erikjacobsen:

Jeg gør følgende:

Højre klikker på "Standardwebsted" og vælger Egenskaber.
Vælger fanebladet "Mappesikkerhed"
Klikker på "Rediger" i sektionen "Styring af annonym adgang og godkendelse".

Følgende info _ER_ udfyldt som standard:

1. Hak i Aktiver Annonym adgang
2. Brugernavn: IUSR_DUGI
3. Et kodeord jeg faktisk ikke ved hvad er, noget som bare står der
4. Hak i "Tillad IIS at kontrollere adgangskode"
5. I bunden er der hak i "Integreret Windows-godkendelse"
Avatar billede dugi Nybegynder
16. januar 2005 - 23:05 #13
morteeart -> Ja men det er jeg for doven til, også syntes jeg det er nemmere at have det hele samlet ét sted.
Avatar billede erikjacobsen Ekspert
16. januar 2005 - 23:06 #14
Du skal kigge og klikke på egenskaber på bemeldte katalog. Din IIS opsætning er sikkert fin nok.
Avatar billede dugi Nybegynder
16. januar 2005 - 23:07 #15
Hvor ligger bemeldte katalog henne? :o
Avatar billede dugi Nybegynder
16. januar 2005 - 23:07 #16
Er helt ny til IIS skal det lige siges..
Avatar billede erikjacobsen Ekspert
16. januar 2005 - 23:08 #17
Højreklik på kataloget | Egenskaber | Sikkerhed | Tilføj | Skriv: IUSR_DUGI | ...

og giv den så rettigheder til at skrive og læse.
Og katalogets navn har jeg skrevet: C:\Programmer\PHP\sessiondata\
Avatar billede dugi Nybegynder
16. januar 2005 - 23:11 #18
Hvilket katalog?
Har prøvet alle, kan ingen "Sikkerhed" finde ..

Det er i IIS du snakker om ik?
Avatar billede erikjacobsen Ekspert
16. januar 2005 - 23:12 #19
Nej, jeg snakker om stifinder - eller hvad det nu hedder. Det er jo bare et
helt almindeligt katalog og din IIS opsætning er sikkert fin nok.
Avatar billede dugi Nybegynder
16. januar 2005 - 23:17 #20
Jeg forstår det stadig ikke helt.
Har prøvet:
1. Windowslogo + E for at komme ind i Stifinder.
2. Fundet mappen og højre klikket og valgt Egenskaber.
3. Ingen "Sikkerhed" - kun "Deling og sikkerhed".
4. Valgt den - ingen tilføj knap.

Forstår det ikke :(
Avatar billede erikjacobsen Ekspert
16. januar 2005 - 23:20 #21
Så skal jeg spørge:
  1) Kører du Windows XP?
  2) Er dit filsystem FAT32 eller NTFS?
Avatar billede dugi Nybegynder
16. januar 2005 - 23:22 #22
NTFS
Avatar billede dugi Nybegynder
16. januar 2005 - 23:23 #23
og ja som jeg skriver, har lige købt nyt Windows XP :)
Avatar billede erikjacobsen Ekspert
16. januar 2005 - 23:24 #24
Ok, så er vi ude i noget jeg ikke helt har styr på, men et eller andet sted er
der noget med "simpel fildeling", som enten skal slåes til eller fra for at man
får det ekstra "sikkerheds"-faneblad. Jeg ved ikke hvor det er  -  jeg er slet
ikke Windows-ekspert ;(
Avatar billede dugi Nybegynder
16. januar 2005 - 23:31 #25
DER erikjacobsen har fundet det du siger.
Men det fandtes kun på mappen "Programmer" ... der er en hel masse konti'er som har adgang. Hvad var det så jeg skulle gøre ?
Avatar billede erikjacobsen Ekspert
16. januar 2005 - 23:32 #26
16/01-2005 23:08:47
Avatar billede dugi Nybegynder
16. januar 2005 - 23:55 #27
huh? :o
Avatar billede erikjacobsen Ekspert
16. januar 2005 - 23:57 #28
"Hvad var det så jeg skulle gøre ?"  - det står i indlægget med dato og tidspunkt: 16/01-2005 23:08:47
Avatar billede dugi Nybegynder
17. januar 2005 - 00:00 #29
oh :P
Avatar billede dugi Nybegynder
18. januar 2005 - 17:22 #30
Goddag igen,

Undskyld jeg ik har svaret før, men mit internet har været nede.
erikjacobsen, har fået den til at skrive sessions filen, altså jeg kan se den i bibloteket, men har lavet en session testside:

<?php $_SESSION["hej"] = "virker"; ?>
<html>
<head>
<title></title>
</head>

<body>
Session: <?php echo $_SESSION["hej"]; ?>
</body>
</html>

Men den udskriver følgende fejl:
Notice: Undefined index: hej in C:\Documents and Settings\Morten Rugaard\Dokumenter\Mine Websteder\YourMag_redone\index.php on line 42

Hvordan kan det være?
I sikkerhed har jeg hakket ALLE mulige flueben af, som man overhovedet kan.

Dette er sidste gang jeg vil bede om din hjælp - promise!
Avatar billede dugi Nybegynder
18. januar 2005 - 17:23 #31
der er self også:
session_start(); i dokumentet
Avatar billede erikjacobsen Ekspert
18. januar 2005 - 17:50 #32
Du bør altid teste om en variabel er sat.

if (isset($_SESSION['hej'])) {
  print $_SESSION{'hej'];
}

Så får du ikke den fejl. Men et er nok ikke derfor. Prøv http://test.n0p.com/eksperten/581513/  - virker faktisk selv om cookies i browseren er slået fra ;)
Avatar billede dugi Nybegynder
18. januar 2005 - 19:11 #33
Har fundet problemet, i et andet indlæg her på Eksperten.
Men du har jo hjulpet mig gennem mit spørgsmål og det skal du have tusind tak for, så smid et svar så du kan få dine velfortjente point :)
Avatar billede erikjacobsen Ekspert
18. januar 2005 - 19:26 #34
Tak, men jeg samler slet ikke på point. Hvad var problemet?
Avatar billede dugi Nybegynder
19. januar 2005 - 10:04 #35
Der var slået "error_reporting" til som standard da jeg installerede :s
Skulle jeg lige ændre i min .ini fil - så spillede det hele :)


Nå men så lukker jeg selv.
Tak for hjælpen erikjacobsen :)
Avatar billede erikjacobsen Ekspert
19. januar 2005 - 10:07 #36
Jamen, det er jo slået til med det formål at fortælle dig, når det går galt.
Man bør altid slå al errorreporting til, og programmere så den ikke giver fejl.
Alt andet er hul i hovedet.
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