CMS läuft nach umstellung auf PHP5 nicht mehr

Gesperrt
wuff
Beiträge: 6
Registriert: Do 20. Sep 2007, 12:25
Kontaktdaten:

CMS läuft nach umstellung auf PHP5 nicht mehr

Beitrag von wuff »

Hallo
Unser Provider hat auf php5 umgestellt. Nun ist nur noch eine weisse Seite zu sehen.

Im Backend war folgende Meldung zu Lesen:

Warning: main() [function.main]: open_basedir restriction in effect. File(/usr/share/php5/classes/class.template.php) is not within the allowed path(s): (/srv/www/vhosts/musterweb.de/httpdocs:/tmp) in /srv/www/vhosts/musterweb.de/httpdocs/contenido/frameset.php on line 17

Warning: main(classes/class.template.php) [function.main]: failed to open stream: Operation not permitted in /srv/www/vhosts/musterweb.de/httpdocs/contenido/frameset.php on line 17

Warning: main() [function.include]: Failed opening 'classes/class.template.php' for inclusion (include_path='/usr/share/php5') in /srv/www/vhosts/musterweb.de/httpdocs/contenido/frameset.php on line 17

Fatal error: Class 'Template' not found in /srv/www/vhosts/musterweb.de/httpdocs/contenido/frameset.php on line 35


Dann hat der Provider änderungen an unseren Dateien vorgenommen sodas die Startseite wieder zu sehen ist. Auf eine andere Seite kann ich aber nicht Navigieren.

Zitat Provider:
Ich habe folgende Änderungen vorgenommen.

config.php:
$contenido_path = "contenido/"; -> $contenido_path = "./contenido/";

front_content.php:
include_once ("config.php"); -> include_once ("./config.php");

Offenbar gibt es aber noch mehr includes, die man modifizieren muss
das muss ihr Programmierer dann noch machen.
Zitat Ende

Navigiere ich auf die nächste Seite bekomme ich jetz:

Warning: contenido_include() [function.contenido-include]: open_basedir restriction in effect. File(/usr/share/php5/HTML/Common.php) is not within the allowed path(s): (/srv/www/vhosts/musterweb.de/httpdocs:/tmp) in /srv/www/vhosts/musterweb.de/httpdocs/contenido/includes/api/functions.api.general.php on line 165

Warning: contenido_include(HTML/Common.php) [function.contenido-include]: failed to open stream: Operation not permitted in /srv/www/vhosts/musterweb.de/httpdocs/contenido/includes/api/functions.api.general.php on line 165

Warning: contenido_include() [function.include]: Failed opening 'HTML/Common.php' for inclusion (include_path='/usr/share/php5:/srv/www/vhosts/musterweb.de/httpdocs/pear/') in /srv/www/vhosts/musterweb.de/httpdocs/contenido/includes/api/functions.api.general.php on line 165

Fatal error: Class 'HTML_Common' not found in /srv/www/vhosts/musterweb.de/httpdocs/contenido/classes/class.htmlelements.php on line 32


Muss ich denn jetzt wirklich irgendwelche dateien Ändern?
und wenn ja welche?

Vielen Dank schon mal
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Beitrag von GaMbIt_ »

Uahhhh... das hört sich nach einem Pfade Problem an...

Im Backend läuft noch alles ???
Stimmen die Pfade ??
calvini
Beiträge: 95
Registriert: Mo 21. Feb 2005, 12:06
Kontaktdaten:

Beitrag von calvini »

Wenn dein Provider die open_basedir-Direktive einsetzt, sollte er das meines Erachtens so machen, dass danach noch alle Skripte funktionieren. Ansonsten würde ich die Fehlermeldungen so interpretieren, dass da irgendwas im Pfad "/usr/share/php5/HTML/" steht, was eigentlich im Pfad "/srv/www/vhosts/musterweb.de/httpdocs:/tmp" stehen sollte. Wobei mir zweiterer Pfad sehr komisch erscheint, vielleicht hat der Provider das was verbaselt?
calvini
Beiträge: 95
Registriert: Mo 21. Feb 2005, 12:06
Kontaktdaten:

Beitrag von calvini »

Letzteres ziehe ich zurück, ist wohl die Kombination mehrerer Pfade. Besteht die Möglichkeit, eine Ausgabe von phpinfo() zu bekommen? Vielleicht ist irgendein Include-Pfad verbogen?
wuff
Beiträge: 6
Registriert: Do 20. Sep 2007, 12:25
Kontaktdaten:

Beitrag von wuff »

GaMbIt_ hat geschrieben:Uahhhh... das hört sich nach einem Pfade Problem an...

Im Backend läuft noch alles ???
Stimmen die Pfade ??
Hallo
Backend geht auch nicht (siehe oben Einführungs Beitrag )
An den Pfaden haben wir nichts verändert.
Ich muss noch dazu Sagen das auch das Setup nicht geht wenn man versucht ein neues Contenido zu Installieren. (Setup start > weise Seite)
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Beitrag von GaMbIt_ »

Dann ist da aber mehr faul...

Hast du mal eine phpinfo() abgefragt???
Stimmen die Pfade von der Datei mit den Pfaden die in den Optionen angezeigt werden überein ???
Kommst Du noch an die Datenbank ran ???
wuff
Beiträge: 6
Registriert: Do 20. Sep 2007, 12:25
Kontaktdaten:

Beitrag von wuff »

Hier mal ein Auszug aus der PHP info

Configure Command

'../configure' '--prefix=/usr' '--datadir=/usr/share/php5' '--mandir=/usr/share/man' '--bindir=/usr/bin'
'--libdir=/usr/lib' '--includedir=/usr/include' '--with-_lib=lib' '--sysconfdir=/etc/php5/apache2'
'--with-config-file-path=/etc/php5/apache2' '--with-config-file-scan-dir=/etc/php5/conf.d'
'--with-exec-dir=/usr/lib/php5/bin' '--enable-magic-quotes' '--enable-libxml' '--enable-session'
'--with-pcre-regex' '--enable-xml' '--enable-simplexml' '--enable-spl' '--enable-safe-mode'
'--enable-sigchild' '--disable-debug' '--enable-memory-limit' '--enable-inline-optimization'
'--with-apxs2=/usr/sbin/apxs2' '--disable-all'


Directive________Local Value________________________Master Value

extension_dir____/usr/lib/php5/extensions______________/usr/lib/php5/extensions
include_path_____/usr/share/php5____________________/usr/share/php5
open_basedir____/srv/www/vhosts/musterweb.de/httpdocs:/tmp
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

die pfade stimmen ganz sicher nicht. das class.template.php ist definitiv nicht im usr/share usw. der fehler hat also überhaupt nichts mit den open_basedir_restriction zu tun.

was hast du eigentlich für eine version von contenido in gebrauch? meines wissens läuft es mit php5 erst ab der version 4.6.15...
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
calvini
Beiträge: 95
Registriert: Mo 21. Feb 2005, 12:06
Kontaktdaten:

Beitrag von calvini »

Ich würde auch behaupten, dass der Include-Pfad falsch gesetzt ist. Es wäre eigentlich Aufgabe des Providers, dies korrekt zu setzen. Du solltest das aber auch mit

Code: Alles auswählen

ini_set('include_path','korrekte Pfade');
selbst setzen können (@kummer: am besten dann wohl in startup.php?).
Quellen: ini_set(), php.ini Einstellungen
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

contenido setzt keine bestimmten einstellungen hinsichtlich der include-verzeichnisse voraus. die werden entweder relativ zur ausgeführten datei oder absolut bezeichnet.

ich schätze mal: entweder gibt die entsprechende datei nicht oder eine variable, die den pfad zum verzeichnis enthält, in dem die datei liegt, ist leer.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
delinquent
Beiträge: 184
Registriert: Fr 17. Aug 2007, 12:15
Kontaktdaten:

Beitrag von delinquent »

Immerhin seh ich nicht das aktuelle Verzeichnis im include_path. Der steht ja auf "/usr/share/php5" und nicht auf sowas, wie ".:/usr/share/php5". Also wird php gar nicht erst im aktuellen Verzeichnis nach includes suchen.

@kummer: "included" Contenido alle Dateien mit "./"?

Ansonsten würde ich einfach mal sowas, wie

Code: Alles auswählen

ini_set('include_path', '.:' . ini_get('include_path'));
versuchen (Fehler vorbehalten :-) )
wuff
Beiträge: 6
Registriert: Do 20. Sep 2007, 12:25
Kontaktdaten:

Beitrag von wuff »

Vielen dank an alle für eure Infos.
delinquent hat geschrieben:
Ansonsten würde ich einfach mal sowas, wie

Code: Alles auswählen

ini_set('include_path', '.:' . ini_get('include_path'));
versuchen (Fehler vorbehalten :-) )


Mit diesem Vorschlag hat Contenido wieder Funktioniert.

Mittlerweile hat mein Provider aber den Server wohl neu aufgesetzt und von PHP 5.0.x auf PHP 5.2.x geupdatet.
Jetzt Arbeitet Contenido auch wieder ohne Modifikation Problemlos.
Gesperrt