Apache php5 cgi und Action
frankx
- webserver
Hellihello
auf einem Strato V-Server läuft standardmäßig Suse 9.3 mit PHP 4.3 und Apache2. Ich versuche PHP5 als CGI einzubinden. Dazu habe ich gemäß http://www.hypnotized.de/2006/08/01/php4-und-php5-als-cgi-im-apache-21/ php5 von php.net heruntergeladen, ent-„tar“t, und mit
“./configure –prefix=/ robert/php_ordner/php5 –with-config-file-path=/ robert/php_ordner/etc/php5 –enable-force-cgi-redirect”
versehen. Das enbable-force-cgi-redirect hat wohl so wie ich das verstehe Sicherheitsgründe.
Nach einem „make install clean“ habe ich mit einem Testscript aus der root-Shell das php-bin so angesprechen können:
#!/robert/php_ordner/php5/bin/php
<?php
echo "Content-Type: text/html\r\n";
echo "\r\n";
echo "Hallo Welt";
?>
Die shebang weist auf den Ordner mit dem php-bin. Wenn ich das Skript ausführe, erhalte ich wie erwartet als Ausgabe:
“X-Powered-By: PHP/5.1.6
Content-type: text/html
Content-Type: text/html
„
In einer Konfigurationsdatei habe ich nun eingegeben:
„Action php5-script "/robert/php_ordner/php5/bin/php"
AddHandler php5-script .php6”
“
Diese habe ich in der httpd.conf includiert (inclusive Neustart). Ich dachte, dass dies dem Apache sagen könnte, dass “php5-script” quasi ein Alias bzw. ein Verweis auf das php-bin ist, und dass alle Dateien mit der Endung .php6 diesem Alias (=php-bin) zugeordnet werden. Wenn ich nun die eine erstellte „info.php6“ aufrufe, erhalte ich den Fehler, die Datei sei nicht vorhanden. Das Errorlog sagt dazu:
"File does not exist: /var/www/vhosts/multitain.de/httpdocs/robert/php_ordner/php5/bin/php/info.php6 "
Ich sehe, dass falsch gedacht. Denn statt das php-bin auszuführen hat der Apache „einfach“ nur diesen in Action definieren Pfad dazwischengehangen.
Was lerne ich davon vom Apachen und wie bringe ich ihn dazu, das php-bin auszuführen?
Dank und Gruß,
frankx
Hallo frankx.
In einer Konfigurationsdatei habe ich nun eingegeben:
„Action php5-script "/robert/php_ordner/php5/bin/php"
AddHandler php5-script .php6”
Merkwürdige Dateiendung …
Wenn ich nun die eine erstellte „info.php6“ aufrufe, erhalte ich den Fehler, die Datei sei nicht vorhanden. Das Errorlog sagt dazu:
"File does not exist: /var/www/vhosts/multitain.de/httpdocs/robert/php_ordner/php5/bin/php/info.php6 "
Auch dir fehlt oben noch etwas.
Einen schönen Donnerstag noch.
Gruß, Mathias