zur Zeit betreibe ich das 4-Gestirn Apache2, php 4.3.3, MySQL 4.0.17 und Confixx 2.
Direkt nach dem einrichten von Confixx und phpMyAdmin gab es überhaupt keine Probleme mit Confixx und phpMyAdmin. Seit mein Forum unter dem Kunde web1 läuft, stellt sich ständig das Problem ein, das beim Aufruf der Confixx-Seiten es zu Fehlermeldungen kam. Das gleiche mit phpMyAdmin.
Wenn ich mehrmals die Seite neu lade, erscheint irgendwann eine funktionierende Seite.Warning: Unknown(): open_basedir restriction in effect. File(/home/www/confixx/html/admin/index.php) is not within the allowed path(s): (/home/www/web1/) in Unknown on line 0
Warning: Unknown(/home/www/confixx/html/admin/index.php): failed to open stream: Operation not permitted in Unknown on line 0
Warning: (null)(): Failed opening '/home/www/confixx/html/admin/index.php' for inclusion (include_path='.:/usr/local/php/lib/php') in Unknown on line 0
Den safe_mode von php, hier für web1, habe ich mit einem Eintrag in der Virtualhost über Confixx deaktivert.
Ich kann im Moment keinen Fehler finden, der dieses Verhalten verursacht. Auch das Forum hat mir in dieser Richtung bis jetzt weder eine direkte Hilfestellung geliefert, noch auch nur einen Ansatz um das Problem zu lösen, wobei ich nicht der einzige mit diesem Problem bin.
Bis jetzt wurde das Problem ja immer nur aus Sicht von php und Confixx betrachtet. Ich habe mir deshalb man die Mühe gemacht und mir Apache2 näher betrachtet.
Ich selber benutze das mpm_worker Modul, wie auch viele andere bestimmt hier auch. Es wird ja auch ausreichend immer darauf hin gewiesen.
Das worker Modul erzeugt doch eine variable Anzahl an Kindprozessen und diese haben immer eine fest definierte Anzahl an Thread Prozessen. Kann es sein, wenn ich eine Confixx-Webseite öffne, dann ist die Warscheinlichkeit groß durch die hohe Last durch das Forum, das ich auf einem Kindprozess hänge der unter dem User web1 läuft und nicht unter dem User confixx? In dem Moment stimmen ja die ganzen lokalen php-Einstellungen nicht mehr. Das würde für mich erklären warum die Fehlermeldung Warning: Unknown(): open_basedir restriction in effect. File(/home/www/confixx/html/admin/index.php) is not within the allowed path(s): (/home/www/web1/) in Unknown on line 0 erscheint.
Ist das worker Modul letztendlich ungeeignet für eine Umgebung mit mehreren Usern?
Naja, mit dem prefork Modul möchte ich ich mich nicht beschäftigen. Da hätte ich mir die Arbeit für den Umstieg nicht machen brauchen.
Wie sieht es eigentlich aus dem mpm_perchild? Wenn ich das ganze jetzt richtig verstanden habe, verwaltet es nicht die Anzahl der Kindprozesse dynamisch, sondern die Anzahl der Threads? Damit hätte man auch eine Modul das sich der Belastung anpasst.
Es soll doch auch gleichzeitig die Möglichkeit einzelne Kindprozesse unter verschiedener Benutzer- und Gruppenkennung laufen zu lassen.
Mit dem perchild Modul dürfte es doch das Problem mit Confixx nicht mehr geben und man hätte doch auch die Vorzüge einer dynamischen Leistungsanpassung.
Sehe ich die Zusammenhänge richtig?
In diesem Sinne würde es mich auch freuen, wenn jemand Erfahrungen mit dem perchild Modul hat, ob es stabil läuft usw.
Kann ich eigentlich ohne größere Probleme umstellen? Sprich neu compilen, Apache2 stoppen, installieren und neu starten, oder wird die httpd.conf überschrieben bzw. die alte bleibt erhalten und ist unbrauchbar.
