IIS 7 & Windows 2008 - Kann serverseitig nicht auf Webseiten zugreifen?

Frank Burian

New Member
Hallo,

ich hab ein Problem und weiß absolut nicht weiter.
Ich hab einen Windows 2008 Server mit IIS 7 und PHP 5.2.9 darauf laufen.
Soweit funktioniert das auch super!

Allerdings kann über mein PHP-Skript, also quasi serverseitig keine Webseiten aufrufen, egal ob die extern liegen oder lokal auf meinem Server.

Wenn ich z.B. eine Seite auf meinem Server über file_get_contents() aufrufe, bekomm ich folgende Fehlermeldung:
[function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in C:\inetpub\wwwroot\includes\klasse.class.php on line 227
wenn ich es über cUrl versuche:
Couldn't found host

Das gleiche Verhalten ist auch auf einem Windows 2003 Server mit Apache und PHP aufgetreten.

Ich schlussfolger daraus, dass es was mit den Rechten vom Windows Server zu tun hat, aber ich hab schon Stunden gesucht und nix gefunden!

Weiß jemand wo der Fehler liegt und kann mir weiterhelfen? Danke!
 
Greifst Du über die IP des Servers oder über den Loopback (127.0.0.1) zu?
Vielleicht ist die Website einfach nicht an letzteren gebunden.
 
Mit file_get_contents() willst du ja ein File einlesen.
Hat der Webserver Zugriffsrechte auf dieses File?
 
Das ist doch egal...
auf Google hat jeder rechte. Und jeden andere Seite auf meinem Server auch ;O)

Und mit cUrl gehts halt auch nicht. Mit cUrl sende ich genau so Anfragen an eine Seite, wie mit einem Browser!
 
Dann biege meine Aussage doch einfach auf URL-Requests um. Kann der Webserver auf die URL zugreifen? Kann der Hostname aufgelöst werden? Gibts eine Firewall?

Zusätzlich prüf mal die php.ini. Dort muss allow_url_fopen eingeschalten sein.
Code:
allow_url_fopen = On
 
allow_url_fopen ist "On".

Ich hätte jetzt gehofft, dass ist das Problem...ist es aber leider nicht!

Hat jemand noch andere Ideen?

Danke!
 
Es ist ein Session-Problem!
Kennt einer das Problem, und kann mir die Lösung sagen?

Das Skript schlägt bei mir fehl:
PHP:
<?php
    // Url zu diesem Skript
    $strUrl = 'http://localhost/test.php';
    
    // Session wird gestartet
    session_start();

    // Bei Erfolg sollte diese Ausgabe kommen
    if (isset($_GET['get'])) {
        die('<h1>ES GEHT !!!</h1>');
    }
    
    // Das externe Laden dieser Seite starten
    if (isset($_GET['start'])) {
        echo file_get_contents($strUrl.'?get=true&'.session_name().'='.session_id());
    }

    // Der Link zum Test
    echo '<a href="'.$strUrl.'?start=true&'.session_name().'='.session_id().'">Zum Test hier klicken...</a>';
?>
 
Back
Top