Frage

Wir verwenden einen VPS -Server in unserem Unternehmen und ich versuche, die RoundCube -Webmail -Schnittstelle zu installieren

Ich kann jedoch nicht einmal in die Konfigurationsphase gelangen, da die Funktion set_include_path nicht funktioniert und das Skript die erforderlichen Konfigurationsdateien nicht finden kann.

Ich erhalte einen Fehler wie "Fatal ERROR, INI_SET/SET_INCLUDE_PATH NICHT."

Ich gehe davon aus, dass einige PHP -Einstellungen dies verursachen, aber ich nicht welches.

Ich würde mich freuen, wenn ich Hilfe bekommen könnte.

Danke im Voraus

//BEARBEITEN Hier sind die Codes aus dem Skript

ini_set('error_reporting', E_ALL&~E_NOTICE);
ini_set('display_errors', 1);

define('INSTALL_PATH', realpath(dirname(__FILE__) . '/../').'/');
define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config');

$include_path  = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR;
$include_path .= INSTALL_PATH . 'program' . PATH_SEPARATOR;
$include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR;
$include_path .= ini_get('include_path');

set_include_path($include_path);

require_once 'utils.php';
require_once 'main.inc';
War es hilfreich?

Lösung

Ich mache das aus dem Gedächtnis, also ist es vielleicht nicht ganz richtig, aber ich denke, Sie verwechseln vielleicht den Pfad und die Verzeichnisabschlüsse. Es kann auch eine schönere Möglichkeit geben, dies zu tun als das, was Sie tun (dh gleichzeitig den gesamten Weg zusammenbaut). Probieren Sie so etwas aus:

define('INSTALL_PATH', dirname(dirname(__FILE__)));

set_include_path(get_include_path() . PATH_SEPARATOR . INSTALL_PATH . DIRECTORY_SEPARATOR . 'program' . DIRECTORY_SEPARATOR . 'lib'); set_include_path(get_include_path() . PATH_SEPARATOR . INSTALL_PATH . DIRECTORY_SEPARATOR . 'program' . DIRECTORY_SEPARATOR . 'include'); set_include_path(get_include_path() . PATH_SEPARATOR . INSTALL_PATH . DIRECTORY_SEPARATOR . 'program');

Normalerweise komprale ich dies ein wenig mit implodenem Implod DIRECTORY_SEPARATOR ist so ausführlich:

...PATH_SEPARATOR . implode(DIRECTORY_SEPARATOR, Array(INSTALL_PATH, 'program', 'lib'));

Ich denke, indem ich (vor allem) einen Teil Ihrer Wege in Verzeichnisse wechselt und (möglicherweise) inkrementell anhand inkrementell get_include_path und set_include_path Anrufe, es ist lesbarer, tragbarer und kann einfach ordnungsgemäß funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top