Roundcube Community Forum
Language Specific Support => Deutsch => Topic started by: vns294 on February 21, 2009, 04:22:41 PM
-
Hallo,
ich habe einen Server mit Plesk 8.6 und PHP 5.2.6
Nachdem ich den Ordner "psa-horde" gesichert habe und die Dateien da reinkopiert habe, wollte ich Installation testen und erhalte folgende Fehlermeldung:
Fatal error: ini_set/set_include_path does not work.
Was genau muss ich da machen oder welche Einstellung muss ich in der php.ini machen?
Kann mir jemand bitte helfen? Bin schon verzweifelt :(
-
Ich befürchte das geht nicht ohne Hilfe Deines Hosts. Es scheint als erlauben die PHP Einstellungen keine Änderungen der PHP.INI settings per Script.
-
Ich habe vollen Zugriff auf den Server. Welche Einstellung muss ich ändern? Also in der php.ini?
-
Das einfachste ist du setzt den include_path direkt in der php.ini :)
oder schau mal ob ini_set bei disable_functions verboten wurde, dann kannst Du es dort auch herausnehmen so das es erlaubt ist.
-
Hab nachgeschaut. In allen php.ini Dateien steht bei disable_functions nichts. Also bei /etc/php5/apache2/php.ini, /etc/php5/cli/php.ini und /etc/php5/fastcgi/php.ini
Ich habe auch schon probiert den Pfad direkt in include_path zu kopieren. Wenn ich phpinfo() aufrufe, dann wird der pfad auch angezeigt.
Local Value
include_path
.:.:/usr/share/php5:/usr/share/php5/PEAR:/usr/share/psa-horde/:/usr/share/psa-horde/program:/usr/share/psa-horde/program/lib:/usr/share/psa-horde/program/include:/usr/share/psa-horde:/usr/share/psa-horde/lib:/usr/share/psa-pear
Master Value
include_path
.:.:/usr/share/php5:/usr/share/php5/PEAR:/usr/share/psa-horde/:/usr/share/psa-horde/program:/usr/share/psa-horde/program/lib:/usr/share/psa-horde/program/include:/usr/share/psa-horde:/usr/share/psa-horde/lib:/usr/share/psa-pear
Trotzdem funktionierts nicht. Mache ich was falsch beim include_path oder was kann ich noch probieren?
Vielen Dank für die Hilfe
-
die Fehlermeldung ist noch die selbe ?
Fatal error: ini_set/set_include_path does not work.
existiert der Pfad der bei include_path angegeben wird ?
ich vermute fast da du den horde Ordner weggesichert hast meckert er deshalb weil der Horde Ordner zb. /usr/share/psa-horde/ nicht mehr existiert ...
Am Roundcube liegt das sicherlich nicht.
Zumindest so meine kleine schnelldiagnose :)
-
Doch der psa-horde Ordner existiert. Hab die Horde Dateien in diesem Ordner gesichert und dann die Dateien von RoundCuber reinkopiert.
Die Pfade extistieren alle.
Liegt es vielleicht an dem .:.: am Anfang von include_path?
include_path .:.:/usr/share/php5:/usr/share/php5/PEAR: ...
-
glaub ich nicht ... kannst du doch aber einfach mal testen indem du das .: oder auch .:.: entfernst. Dürfte aber nicht daran liegen.
-
Hat nichts gebracht. Bin langsam verzweifelt.
Habe keine Idee mehr woran es liegen könnte.
Was könnte ich noch ausprobieren??
-
Liegt da vielleicht irgenwo in einem übergeordneten Verzeichnis eine .htaccess, die die Funktion ini_set bzw. set_include_path ausschaltet?
Es liegt definitiv daran, dass Dein Apache/PHP "set_include_path" nicht zulässt. Deswegen bricht RoundCube im Script ./program/includes/inset.php bei ...
if (set_include_path($include_path) === false) {
die('Fatal error: ini_set/set_include_path does not work.');
}
... ab.
Du hast ja den include path schon manuell gesetzt. Kommentiere einfach mal die "die" Anweisung aus. Richtig zu laufen kriegst Du es aber mit Sicherheit erst, wenn "set_include_path" arbeitet.
-
Es funktioniert!!!! Habs geschafft.
Folgende Lösung für alle die das gleiche Problem bei einem suse 10.3 server mit Plesk 8.6 und PHP 5.2.6 haben:
1. Neuen Ordner in /usr/share/ erstellen. Zum Beispiel roundcubemail
2. roundcube runterladen und darin entpacken
3. im Ordner config bei den inc Dateien den .dist entfernen
4. im Ordner program/include in der iniset.php folgende Zeile auskommentieren
//if (set_include_path($include_path) === false) {
//die('Fatal error: ini_set/set_include_path does not work.');
//}
5. Datenbank wie gewohnt erstellen und in der db.inc.php die Verbindungseinstellungen korrigieren
DANN:
In der Datei /etc/apache2/conf.d/zz010_psa_httpd.conf (erst ne sicherung machen) folgenden Abschnitt anpassen.
Hier ein Beispiel:
\
>
DocumentRoot /usr/share/roundcubemail/
ServerName webmail
ServerAlias webmail.*
UseCanonicalName Off
php_admin_flag engine on
php_admin_flag magic_quotes_gpc off
php_admin_flag safe_mode off
php_admin_value open_basedir "/usr/share/roundcubemail"
php_admin_value include_path "/usr/share/roundcubemail/:/usr/share/roundcubemail/program:/usr/share/roundcubemail/program/lib:/usr/share/roundcubemail/program/include:/usr/share/roundcubemail:/usr/share/roundcubemail/lib:/usr/share/psa-pear:."
php_admin_flag engine on
php_admin_flag magic_quotes_gpc off
php_admin_flag safe_mode off
php_admin_value open_basedir "/usr/share/roundcubemail"
php_admin_value include_path "/usr/share/roundcubemail/:/usr/share/roundcubemail/program:/usr/share/roundcubemail/program/lib:/usr/share/roundcubemail/program/include:/usr/share/roundcubemail:/usr/share/roundcubemail/lib:/usr/share/psa-pear:."
Order allow,deny
Allow from all
Dann webmail.meineDomain.de aufrufen und schwups müsste es funktionieren.
So mal auf die schnelle. Geb keine Garantie drauf
-
Es geht auch einfacher!
Lösche einfach aus der /etc/apache2/conf.d/zz010_psa_httpd.conf
die php_admin_value include_path raus und restarte apache2 und es geht!
-
Es funktioniert!!!! Habs geschafft.
Folgende Lösung für alle die das gleiche Problem bei einem suse 10.3 server mit Plesk 8.6 und PHP 5.2.6 haben:
1. Neuen Ordner in /usr/share/ erstellen. Zum Beispiel roundcubemail
2. roundcube runterladen und darin entpacken
3. im Ordner config bei den inc Dateien den .dist entfernen
4. im Ordner program/include in der iniset.php folgende Zeile auskommentieren
//if (set_include_path($include_path) === false) {
//die('Fatal error: ini_set/set_include_path does not work.');
//}
5. Datenbank wie gewohnt erstellen und in der db.inc.php die Verbindungseinstellungen korrigieren
DANN:
In der Datei /etc/apache2/conf.d/zz010_psa_httpd.conf (erst ne sicherung machen) folgenden Abschnitt anpassen.
Hier ein Beispiel:
\
>
DocumentRoot /usr/share/roundcubemail/
ServerName webmail
ServerAlias webmail.*
UseCanonicalName Off
php_admin_flag engine on
php_admin_flag magic_quotes_gpc off
php_admin_flag safe_mode off
php_admin_value open_basedir "/usr/share/roundcubemail"
php_admin_value include_path "/usr/share/roundcubemail/:/usr/share/roundcubemail/program:/usr/share/roundcubemail/program/lib:/usr/share/roundcubemail/program/include:/usr/share/roundcubemail:/usr/share/roundcubemail/lib:/usr/share/psa-pear:."
php_admin_flag engine on
php_admin_flag magic_quotes_gpc off
php_admin_flag safe_mode off
php_admin_value open_basedir "/usr/share/roundcubemail"
php_admin_value include_path "/usr/share/roundcubemail/:/usr/share/roundcubemail/program:/usr/share/roundcubemail/program/lib:/usr/share/roundcubemail/program/include:/usr/share/roundcubemail:/usr/share/roundcubemail/lib:/usr/share/psa-pear:."
Order allow,deny
Allow from all
Dann webmail.meineDomain.de aufrufen und schwups müsste es funktionieren.
So mal auf die schnelle. Geb keine Garantie drauf
Thank you so much man, it worked!