Christoph Jeschke: Die 25 gefährlichsten Programmierfehler

Beitrag lesen

Guten Tag,

mit open_base_dir und suexec kann ein Script des Users FTPUser1 _nicht_ per
phps "include" (oder require_once) .../library/Zend/Zend_Loader.php
einbinden, wenn dies zB "wwwrun:psaserv" gehört, also jemand anderes.
Scripte des FTPUser1 können nur Scripte des FTPUser1 includieren.

Ok, jetzt habe ich dich verstanden. Nein, das funktioniert natürlich nicht. suexec verhindert, dass die Skripte aufgerufen werden. Der safe_mode prüft ähnlich.

Wie aber macht man es in Deiner Konfiguration, dass aus einem zentralen
Verzeichnis alle Vhosts/User bestimmte Libraries (PEAR/ZendFW) einbinden
können?

Es gibt (bei mir) kein zentrales Verzeichnis mit Libraries, von daher musste ich dieses Problem nicht lösen. Sollte man das aber wollen, könnte man die Libraries automatisch verteilen, nachdem sie aktualisiert wurden. Sowas lässt sich relativ trivial automatisieren (Cronjob der ein PEAR-Update anstößt und nach bestimmten Regeln auf die Projekt-Library-Folder verteilt).

Ich persönlich trenne auch hier jedes Webprojekt, denn die Anforderungen sind doch teilweise sehr unterschiedlich, z.B. könnte ein Projekt eine bestimmte Version eines PEAR-Teils benötigen. Eines meiner Projekte hat sogar eigens kompilierte PECL-Module, die sonst nicht benötigt werden (und daher sonst auch nicht geladen werden müssen).

Gruß
Christoph Jeschke

--
Zend Certified Engineer
Certified Urchin Admin