mysql_connect() und timeout

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mysql_connect() und timeout

    hi leute,

    ich wollte ein kleines script schreiben, was u.a. den status von mysql-dbs abfragt und dabei auch mit "ungültigen" angaben umgehen kann.
    dabei bin ich auf zwei merkwürdige sachen gestoßen, vielleicht weiß ja einer rat, woran es liegt.

    1.) das timeout für den verbindungsversuch wird nicht beachtet
    php.ini: mysql.connect_timeout = 1
    script:
    PHP-Code:
    echo ini_get('mysql.connect_timeout');
    flush();
    mysql_connect('google.de'); 
    ausgabe: 1 - also mysql.connect_timeout ist gesetzt
    aber das script läuft ca. 20 sek und bricht dann mit der erwarteten fehlermeldung "Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'google.de' (10060) in ..." ab.
    sollte doch aber schon nach einer sekunde abbrechen

    2.) mysql_connect() rennt sich bei einem offenen port (z.b. 80) einen wolf - d.h. das script bricht nicht ab und der browser läd ewig:
    PHP-Code:
    mysql_connect('google.de:80'); 
    wobei hingegen:
    PHP-Code:
    while(true); 
    ein "Fatal error: Maximum execution time of 30 seconds exceeded in ..." zur folge hat.

    naja, bei punkt eins könnte man eventuell noch mit einem vorangestellten fsockopen() einen timeout abfangen, ist aber eher ein workaround

    mich würde aber interessieren, warum das timeout nicht beachtet wird bzw. das script in eine endlosschlefe gerät.
    hat jemand eine idee dazu?
Lädt...
X