Kai Laschet: "premature end of script header" - HILFE

Beitrag lesen

Um den Thread noch einmal aufzugreifen möchte ich an dieser Stelle noch einmal um eine echte Hilfestellung bitten, und allen denen danken, die mir helfen wollten - leider weiß ich noch immer nicht, WIE?

Das Problem ist folgendes :

Bei mir läuft auf einem Windows-2000-Pro-Server der Apache-Server 1.3.22 und PHP 4.0.6.

Das ganze läuft zur vollsten Zufriedenheit mit folgender Konfiguration:

httpd.conf =

ServerRoot "c:/apache"
DocumentRoot "c:/apache/htdocs"

(Die entsprechenden Verzeichnisse haben folgende .htaccess-Restriktion :

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
...
<Directory "C:/Apache/htdocs">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Wenn ich nun über einen Browser ein PHP Script anspreche, funktioniert alles ganz normal, wie es soll. Als Beispiel-Script, wie es dort funktioniert, möchte ich zitieren :

<html>
 <head><title>Testseite für PHP 4.0.6</title></head>
 <body><?php echo "Hallo Welt\n"; ?></body>
</html>

Nun jedoch das Problem :

Ich habe mehrere VirtualHosts definiert, und möchte, da ich verschiedene Projekte voneinander trennen muß, PHP-Skripte in den entsprechenden Verzeichnissen ansprechen (alle ausserhalb des SERVERROOT-Verzeichnisses. Als Beispiel für einen VirtualHost-"Container" führe ich an :

<VirtualHost 192.168.1.2>
 ServerAdmin webmaster@aixpage.de
 ServerName server1.aixpage.de
 DocumentRoot "E:/aixpage/www"
 ErrorLog "E:/aixpage/logs/error_log"
 CustomLog "E:/aixpage/logs/access_log" combined
 <Directory "E:/aixpage/www/">
  AllowOverride All
  Options All
  Order allow,deny
  Allow from all
 </Directory>
</VirtualHost>

Greife ich (von ausserhalb) auf HTML-Dokumente zu, habe ich kein Problem.

Greife ich auf das obige PHP-Script im Dokument "test.php" zu, läuft alles wie es soll.

Greife ich auf das obige PHP-Script im Dokument "data.php" zu, erhalte ich einen ERROR 500 Internal Server Error.

Der Unterschied zwischen "test.php" und "data.php" IST NUR DER DATEINAME!!!

Das Error-Log des VirtualHost server1.aixpage.de sagt aus :

[error] [client 192.168.1.13] Premature end of script headers: c:/php/php.exe

Nocheinmal gesagt : Dieses Script innerhalb eines HTML-Dokumentes wird durch den PHP-Interpreter (c:/php/php.exe) sauber abgearbeitet, wenn es im Verzeichnis C:/apache/htdocs liegt, egal wie das Dokument heißt.

Dieses Script innerhalb eines HTML-Dokumentes wird im Virtual-Host-Verzeichnis e:/aixpage/www nur abgearbeitet, wenn der Name des beinhaltenden Dokumentes "test.php" ist - und in Unterverzeichnissen wie etwa e:/aixpage/www/skripte kommt es auch dabei zur Fehlermeldung.

Ich bitte Euch, mir ausführlich zu helfen, um mir diesen unerklärlichen Fehler zu ersparen; ich persönlich tippe auf eine falsche bzw. fehlende Restriktions-Direktive <Directory>...</Directory> in der httpd.conf oder auf eine mir unbekannte Einstellung, die ich in der php.ini noch machen muß. Wo ich dort nämlich mehrere VirtualHosts einstellen kann, aus denen der PHP-Interpreter heraus angesprochen werden kann, weiß ich nicht...

Vielen Dank im Voraus und entschuldigt bitte den neuen Thread.