phpbar.de logo

Mailinglisten-Archive

[php] Apache und PHP

[php] Apache und PHP

Johannes Schlueter schlueter at phpbar.de
Die Feb 3 01:11:26 CET 2004


Quoting Norbert Pfeiffer <norbert at itbw.de>:

> Hi,
> 
> derzeit sieht der CGI-Abschnitt in der httpd.conf
> so aus:
> ScriptAlias /phpXY/   "C:/Programme/prog/phpXY/"
> AddType application/x-httpd-phpXY   .phpXY
> AddType application/x-httpd-phpXY   "/phpXY/php.exe"
> AddHandler phpXY-script   .phpXY
> Action phpXY-script   "/phpXY/php.exe"
> 
> Wollte ich vereinfachen:
> AddType application/x-httpd-phpXY   .phpXY
> AddType application/x-httpd-phpXY   "C:/Programme/prog/phpXY/php.exe"
> AddHandler phpXY-script   .phpXY
> Action phpXY-script   "C:/Programme/prog/phpXY/php.exe"
> 
> Leider funktioniert das nicht:  "Bad Request ..."
> Deshalb suche ich jemanden, der mir den Grund nennen kann,
> denn rein logisch sind die Varianten IMHO gleich ... <gruebel>

Sie sind nicht gleich. Lies mal die Dokumentation zu ScriptAlias und Action. Mit
ScriptAlias erstellst Du ein URL-Alias, dass auf ein Verzeichnis außerhalb des
normalen Docroots zeigt und die Scriptausführung erlaubt. Nach 

ScriptAlias /phpXY/   "C:/Programme/prog/phpXY/"

kannst Du (theoretisch) auf http://example.com/phpXY/php.exe zugreifen und das
so ausführen. Durch die Kompilier-Option --enable-force-cgi-redirect wird dies
aber PHP-Seitig unterbunden. Action führt einen internen Redirect durch. In der
ersten Version leitet er die Anfrage nach http://example.com/foo.phpXY intern
an http://example.com/phpXY/php.exe durch und setzt ein paar Environment
Variablen, die die php.exe interpretiert, im zweiten Fall macht er einen
internen Redirect auf http://example.com/C:/Programme/prog/phpXY/ - fast
zumindest, durch den fehlenden Slash am Anfang von C:/ dürfte er durcheinander
kommen und vesuchen eine ungültige Resource zu laden - also ein "Bad Request".

johannes

php::bar PHP Wiki   -   Listenarchive