CMS läuft nach umstellung auf PHP5 nicht mehr
CMS läuft nach umstellung auf PHP5 nicht mehr
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
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
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?
HalloGaMbIt_ hat geschrieben:Uahhhh... das hört sich nach einem Pfade Problem an...
Im Backend läuft noch alles ???
Stimmen die Pfade ??
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)
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
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
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...
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)
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 selbst setzen können (@kummer: am besten dann wohl in startup.php?).
Quellen: ini_set(), php.ini Einstellungen
Code: Alles auswählen
ini_set('include_path','korrekte Pfade');
Quellen: ini_set(), php.ini Einstellungen
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.
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)
-
- Beiträge: 184
- Registriert: Fr 17. Aug 2007, 12:15
- Kontaktdaten:
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
versuchen (Fehler vorbehalten
)
@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'));

Vielen dank an alle für eure Infos.
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.
delinquent hat geschrieben:
Ansonsten würde ich einfach mal sowas, wie
versuchen (Fehler vorbehaltenCode: Alles auswählen
ini_set('include_path', '.:' . ini_get('include_path'));
)
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.