Author Topic: Problem bei Installation / include_path  (Read 7534 times)

Offline vns294

  • Newbie
  • *
  • Posts: 6
Problem bei Installation / include_path
« 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 :(

Offline rosali

  • Hero Member
  • *****
  • Posts: 2,533
Problem bei Installation / include_path
« Reply #1 on: February 22, 2009, 06:50:12 AM »
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.
Regards,
Rosali
__________________
MyRoundcube Project (commercial)

Offline vns294

  • Newbie
  • *
  • Posts: 6
Problem bei Installation / include_path
« Reply #2 on: February 23, 2009, 05:04:45 AM »
Ich habe vollen Zugriff auf den Server. Welche Einstellung muss ich ändern? Also in der php.ini?

Offline lacri

  • Full Member
  • ***
  • Posts: 179
    • http://www.php-lexikon.de
Problem bei Installation / include_path
« Reply #3 on: February 23, 2009, 06:27:05 AM »
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.
« Last Edit: February 23, 2009, 06:39:23 AM by lacri »

Offline vns294

  • Newbie
  • *
  • Posts: 6
Problem bei Installation / include_path
« Reply #4 on: February 23, 2009, 09:05:32 AM »
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

Offline lacri

  • Full Member
  • ***
  • Posts: 179
    • http://www.php-lexikon.de
Problem bei Installation / include_path
« Reply #5 on: February 23, 2009, 09:10:39 AM »
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 :)

Offline vns294

  • Newbie
  • *
  • Posts: 6
Problem bei Installation / include_path
« Reply #6 on: February 23, 2009, 09:17:09 AM »
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: ...

Offline lacri

  • Full Member
  • ***
  • Posts: 179
    • http://www.php-lexikon.de
Problem bei Installation / include_path
« Reply #7 on: February 23, 2009, 09:23:30 AM »
glaub ich nicht ... kannst du doch aber einfach mal testen indem du das .: oder auch .:.: entfernst. Dürfte aber nicht daran liegen.

Offline vns294

  • Newbie
  • *
  • Posts: 6
Problem bei Installation / include_path
« Reply #8 on: February 23, 2009, 09:46:18 AM »
Hat nichts gebracht. Bin langsam verzweifelt.

Habe keine Idee mehr woran es liegen könnte.

Was könnte ich noch ausprobieren??

Offline rosali

  • Hero Member
  • *****
  • Posts: 2,533
Problem bei Installation / include_path
« Reply #9 on: February 23, 2009, 10:29:04 AM »
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.
« Last Edit: February 23, 2009, 10:48:08 AM by rosali »
Regards,
Rosali
__________________
MyRoundcube Project (commercial)

Offline vns294

  • Newbie
  • *
  • Posts: 6
Problem bei Installation / include_path
« Reply #10 on: February 23, 2009, 01:59:28 PM »
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

Offline horfic

  • Jr. Member
  • **
  • Posts: 49
Problem bei Installation / include_path
« Reply #11 on: February 24, 2009, 01:32:05 AM »
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!

Offline bezci

  • Newbie
  • *
  • Posts: 1
Problem bei Installation / include_path
« Reply #12 on: September 23, 2009, 07:40:59 AM »
Quote from: vns294;17247
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!