Jag ska byta ut min gamla server med win 2000 server till en bättre burk med win 2003.
Har fått igång webbserver med PHP och flyttat alla filer.
När man surfar in på sidan (index.php) får man detta felmeddelande:
"The specified CGI application misbehaved by not returning a complete set of HTTP headers."
Har lokaliserat felet till när jag hämtar datum från databasen (access) och ska skriva ut det.
date("Y-m-d", $rs_date->value)
Skriver jag ut värdet direkt så funkar det på nya servern men på gamla ser datumet ut så här: "1142463600".
Inte säker på att det är ett php-problem men ASP-sidor funkar utan problem.
så funkar det.
Det verkar som att date-funktionen inte tycker om när man skickar in ett 2001-01-01 istället för 1142463600.
Frågan är alltså varför jag får ut ett riktigt datum från databasen på win 2003 men inte på 2000 server.
Meningen med date-funktionen är att den ska göra om 1142463600 till 2006-03-16. Om du redan har 2006-03-16 finns inget behov av att köra date-funktionen.
Nä men jag måste köra så när jag skickar upp filerna på webbhotellet, har bara utvecklingsmiljön hemma.
Så hur gör man för att få ut samma på win 2003?
Det är ju i databasen du bestämmer hur datumet ska lagras. Sen finns ju i och för sig drivrutinen som en mellanhand. Undrar om de har kokat ihop där så att den ändrar på datatyperna...
Jag har ju aldrig använt Access, så jag vet inte vad kolumntyperna heter, men om du vill ha ut datumen som ett heltal så heter det unixtime och du bör leta efter det i dokumentationen.
Annars finns ju alltid fullösningen att du med php kollar datumformatet.
if (is_int($rs_date->value)) så behöver du köra date, annars inte.
Om det är det formatet du har valt även på gamla servern måste det ju nästan vara i databasdrivrutinen som det händer nåt konstigt. Antingen det eller om det står fel i queryn, för där kan du ju även konvertera mellan typer.
Frågan bara plockar ut värdet utan konstigheter, och det är ju lite löjligt att det är likadant på min gamla server och på webbhotellet med exakt samma kod och samma databasfil.
En annan sak; på nya kan jag ta ut värdet på två sätt:
$rs_date->value
// eller
$rs_date
funkar vilket som. På gamla måste jag ha första alternativet annars skriver den "object".
PHP är inte inblandat här. Såvida inte du inte har skrivit koden själv förstås.
Där tar du faktiskt fel, jag testade att avinstallera 5.0.4 och körde in 4.3.4 istället och problemet försvann.
Jag förstår inte varför men så är det :q
265 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e