Avatar billede beetle Nybegynder
17. september 2011 - 15:19 Der er 3 kommentarer og
1 løsning

PHP gider ikke snakke med MySQL

Jeg har fået det underligste problem efter at jeg har fået konfigureret min nye webserver.

Serveren kører Windows og de tre delelementer (PHP, Apache og MySQL) ser umiddelbart ud til at virke fint hver for sig. Jeg anvender de samme versioner, stier og konfigurationer på både den nye og den gamle server. PHP og Apache folderne er binært ens mellem de to maskiner hvor MySQL serveren er installeret via en msi fil og har lidt andre værdier hvad angår cache. Ellers ingen forskelle.

Websider med simpelt PHP indhold virker fint. MySQL serveren svarer fint på forespørgsler via ODBC og Apache serveren snurrer lystigt og serverer sider med rent HTML indhold uden problemer.

Problemet opstår så snart jeg hiver fat i en PHP side der vil snakke med MySQL. Jeg får ingen fejlmeddelelser på skærmen, blot en blank side og efter et stykke tid en timeout. Intet sker.

Kigger jeg i min Apache access log ser jeg kun den indledende GET, error filen er tavs og det er php-errors.txt også.

Fjerner jeg midlertidig min php.ini fil helt (og genstarter apache servicen) sker der lidt mere. Her får Wordpress lov til at brokke sig over at "Your PHP installation appears to be missing the MySQL extension which is required by WordPress.", heraf min tanke at det må være MySQL integrationen den er gal med, eller nok nærmere den måde det kører i mit OS på.

Jeg er dog helt blank på hvorfor det skulle virke på min gamle Windows Server 2003 og ikke på min Windows 7. Begge er 64 bit maskiner og filerne er binært ens mellem de to setups. Det hjælper heller ikke at slå antivirus og firewall fra.

Her er et phpinfo() dump fra hhv. den gamle server og den nye, samt en sammenligningsrapport der fremhæver forskellene.

Den gamle server (virker):
http://dl.dropbox.com/u/4613621/eksperten/nyserver/phpinfo_working.htm

Den nye server (virker ikke):
http://dl.dropbox.com/u/4613621/eksperten/nyserver/php_info_broken.htm

Sammenligningsrapport:
http://dl.dropbox.com/u/4613621/eksperten/nyserver/Report.html

Enhver hjælp er velkommen. Jeg er lettere desperat =)
Avatar billede erikjacobsen Ekspert
17. september 2011 - 18:54 #1
Har du koden til en lille testside i PHP med en MySql-forbindelse, der ikke virker?
Avatar billede beetle Nybegynder
17. september 2011 - 21:59 #2
Her er koden:
http://pastebin.com/qRTzAbhX

Og her kører koden live (på min gamle server):
http://www.eq2.dk/testsql.php

Samme eksekvering på den nye server giver det forventede resultat. Tom side i et stykke tid indtil browseren gi'r op og derefter ingenting.
Avatar billede erikjacobsen Ekspert
17. september 2011 - 22:09 #3
Godt. Du skal have PHP til at fortælle dig hvis noget går galt. Så kan vi tage den derfra. Fx

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password") or die("Ingen connection");
mysql_select_db("mydatabase", $link) or die("Ingen database");

$result = mysql_query("SELECT * FROM mytable", $link) or die(mysql_error());
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";
?>
Avatar billede beetle Nybegynder
16. november 2011 - 01:27 #4
Jeg beklager den sene tilbagemelding og takker for forslagene.

Umiddelbart efter at have stillet mit spørgsmål, valgte SSD disken i  serveren at afgå ved døden, og det har taget en god måneds tid at få den byttet. Efter endt re-installation hvor jeg - til min bedste overbevisning - har foretaget præcis den samme installation som oprindeligt benyttede mig af, virker alt nu som oprindeligt forventet.

Jeg er ikke blevet klogere på hvad der skete, og kan heller ikke reproducere situationen (hvilket jeg egentlig er ret godt tilfreds med) så jeg beklager ulejligheden og lukker spørgsmålet igen.
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

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