Pregunta

Estamos utilizando un servidor VPS en nuestra empresa e intento instalar RoundCube Webmail Interface

Pero ni siquiera puedo llegar a la fase de configuración porque la función set_include_path no funciona y el script no puede encontrar los archivos de configuración requeridos.

Recibo un error como "Error fatal, la función ini_set/set_include_path no funciona".

Supongo que algunas configuraciones de PHP están causando esto, pero no lo hago.

Me alegraría si pudiera obtener ayuda.

Gracias por adelantado

//EDITAR Aquí están los códigos del script

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';
¿Fue útil?

Solución

Estoy haciendo esto de memoria, por lo que puede que no sea correcto, pero creo que tal vez confundas el camino y los separadores de directorio. También puede haber una forma más agradable de hacer esto que lo que estás haciendo (es decir, ensamblar todo el camino a la vez). Prueba algo como esto:

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');

Por lo general, lo compro un poco con implosar, ya que DIRECTORY_SEPARATOR es tan detallado:

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

Creo que (lo más importante) cambiando algunas de sus caminos a los directores, y (posiblemente) usando incremental get_include_path y set_include_path Llamadas, será más legible, portátil y podría funcionar correctamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top