Jump to content
Froxlor Forum
  • 0

PHP-FPM, auto_prepend_file


Ragnos

Question

Hallo zusammen,

 

ich bereite derzeit ein Upgrade von 0.9.27-1 auf 0.9.32 vor.

 

Wir haben das Script von http://www.bot-trap.de im Einsatz, was an sich recht gut funktioniert. Es handelt sich um ein PHP-Script, welches an sich nur die Implementierung einer Black- & Whiteliste darstellt. Wenn sich das Script nicht sicher ist wird eine Mathematik-Aufgabe eingeblendet, erst danach wird der Content ausgeliefert. ?blicherweise wird das ganze mit require_once() in der jeweiligen PHP-Anwendung integriert. Um Bot-Trap auf allen Domains ohne ?nderungen an den eigentlichen PHP-Scripts auszuf?hren habe ich das ganze ?ber die php.ini, auto_prepend_file eingebunden.

 

Das alte Setup l?uft noch mit mod-php5. Das will ich im Zuge des Upgrades korrigieren und auf FPM wechseln, was ich auch schon am laufen habe. Allerdings gelingt es mir nicht mehr, dass Bot-Trap-Script einzubinden.

 

Meine Beobachtungen:

- Liegt das Bot-Trap-Script in einem regul?r nicht erreichbaren Ordner (z.b. /var/customers/webs/script.php) passiert schlicht garnichts, das Script wird ignoriert.

- Liegt das Bot-Trap-Script in einem Kunden-Ordner (/var/customers/webs/ragnos) l?uft das Script zwar f?r diesen einen Kunden, alle anderen vHosts liefern jedoch nurnoch about:blank aus. (Inkl. Froxlor vHost)

 

auto_prepend_file habe ich in /etc/php5/fpm/php.ini definiert.

 

Auf der einen Seite kann man ja froh sein dass PHP-Scripts von Kunde X nicht im vHost von Kunde Y ausgef?hrt wird, dennoch, weis einer wie man dass umsetzen k?nnte?

 

Verwendet wird ein aktuelles Debian Wheezy, entsprechend Apache2.2 und php5.4 mit FPM.

 

W?nsche vorab ein angenehmes Wochenende!

 

Gru?,

Ragnos

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Hallo,

 

danke f?r die Antwort. An die abgeschalteten PHP-Errors hab ich tats?chlich nicht mehr gedacht. Der Fehler in der Log-Datei war allerdings auch nicht wirklich hilfreich:

[Mon Dec 08 02:45:17 2014] [error] [client 88.77.167.77] FastCGI: server "/var/www/php-fpm/froxlor.panel/froxlor.despe.de/6624.fpm.external" stderr: PHP message: PHP Fatal error:  Unknown: Failed opening required '/var/customers/webs/ragnos/page.restrictor.php' (include_path='.:/usr/share/php/:/usr/share/php5/') in Unknown on line 0

Das Problem war tats?chlich open_basedir. Das ist zwar nicht in der /etc/php5/fpm/php.ini definiert, sehr wohl jedoch in der Kundenkonfiguration. Allen gemein ist /usr/share/php/, dort habe ich das Bot-Trap-Skript jetzt liegen, funktioniert.

 

Danke f?r den Denkansto?!

Link to comment
Share on other sites

Mit aktiviertem open_basedir wirst du das garnicht hinkriegen. Ohne ist aber doch gar kein problem, das script muss nur dem webserver-user geh?ren, denn der darf ja auch in die kunden-vhosts.

 

 

- Liegt das Bot-Trap-Script in einem regul?r nicht erreichbaren Ordner (z.b. /var/customers/webs/script.php) passiert schlicht garnichts, das Script wird ignoriert.

Wie lautet die Fehler-Meldung in der Log? Vielleicht muss man sich die einfach nur mal genauer anschauen, um zu erfahren WARUM es ignoriert wird!

 

- Liegt das Bot-Trap-Script in einem Kunden-Ordner (/var/customers/webs/ragnos) l?uft das Script zwar f?r diesen einen Kunden, alle anderen vHosts liefern jedoch nurnoch about:blank aus. (Inkl. Froxlor vHost)

Ein Webserver liefert kein about:blank aus...eine "wei?e Seite" deutet meist auf einen PHP-Fehler hin dessen Ausgabe unterdr?ckt wurde (php.ini o.A. Einstellung), ?berpr?fe die Logs...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...