HTML-Code einbauen mit mod_ext_filter
dangermouse
- webserver
Hallo liebes Forum,
auf meinem Raspberry Pi habe ich LAMP installiert und möchte gerne in jede ausgelieferte Seite nachträglich HTML-Code einbauen.
Dazu würde ich gerne mod_ext_filter verwenden. Ich habe mir einige Beispiele angeschaut, funktionieren tut es bei mir aber nicht. Die httpd.conf wird gelesen, die Seiten werden auch ausgeliefert, nur mod_ext_filter macht gar nichts. Ich weiß auch nicht, wie ich besser testen kann, woran es liegt.
Hier der Code, den ich verwende:
httpd.conf:
ServerName freebox
ExtFilterDefine inject cmd="/usr/bin/php /var/www/inject.php"
<Directory />
SetOutputFilter inject
ExtFilterOptions DebugLevel=1
</Directory>
/var/www/inject.php:
<?
$stdin = fopen('php://stdin', 'r');
while($line = fgets($stdin)){
$line = preg_replace('/a/','A',$line);
fwrite($stdout, $line);
}
?>
Was kann ich machen, damit es funktioniert?
Liebe Grüße
danger
Bin nun schon selbst weitergekommen: Das Modul war gar aktiviert, ich habe es nun in die apache2.conf eingebunden und das PHP-Skript wird auch ausgeführt, wenn auch jetzt sonst keine Seite mehr angezeigt wird.
Ich such nun erst mal weiter, vielen Dank und liebe Grüße an alle!
danger
/var/www/inject.php:
<?php
# Das kann es auch sein! Nicht immer ist (wegen xml!) short-tags aktiviert
$stdin = fopen('php://stdin', 'r'); # Das wartet auf eine Eingabe?
while($line = fgets($stdin)){
#$line = preg_replace('/a/','A',$line); # zu teuer
$line = str_replace('a', 'A', $line);
#fwrite($stdout, $line);
# PHP Notice: Undefined variable: stdout in /tmp/test.php on line 7
# PHP Warning: fwrite() expects parameter 1 to be resource, null given in /tmp/test.php on line 7
#damit gehts erst mal bis geklärt ist, was $stdout sein soll.
echo $line;
}
?>
Jörg Reinholz
Jörg Reinholz
Danke, mit echo hab ich es jetzt auch gelöst und es funktioniert!
Das $stdout war aus dem verlinkten Beitrag. fopen('php://stdin', 'r') funktioniert, es ist wohl der Eingangspuffer von php.
str_replace bau ich noch ein.
Vielen Dank, Jörg, und liebe Grüße an alle!
danger