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.