2011-12-01 4 views
0

PHP 기능이 작동하지 않고 스크립트가 필수 구성 파일을 찾을 수 없습니다.set_include_path, 우리는 우리의 회사에있는 VPS 서버를 사용하고 내가 Roundcube 웹 메일 인터페이스를</p> <p>를 설치하기 위해 노력하고있어하지만 심지어 set_include_path 때문에 구성 단계에 얻을 수없는 5.2.13

"치명적인 오류, ini_set/set_include_path 함수가 작동하지 않습니다."와 같은 오류가 나타납니다.

일부 PHP 설정이이 문제를 일으키는 것으로 가정합니다. 그러나 어느 것이 좋을까요?

도움을 얻을 수 있다면 기쁠 것입니다. 사전에

덕분에

는 // EDIT 여기

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'; 
+1

"치명적인 오류, 기능이 작동하지 않습니다"? 실제 인용 오류를 게시하십시오. –

+1

"치명적인 오류가 발생했습니다 : ini_set/set_include_path가 작동하지 않습니다." 설치 폴더에서 "경고 : require_once (main.inc) [function.require-once] : 스트림을 열지 못했습니다 : /usr/share/psa-horde/installer/index.php에 그런 파일이나 디렉토리가 없습니다. line 45 " –

+0

이 버그를 참조하십시오 : http://trac.roundcube.net/ticket/1484675 – Prisoner

답변

0

꽤 잘되지 않을 수도 있습니다, 그래서 내가 메모리에서이 일을하고있어 스크립트 코드,하지만 난 어쩌면 생각 경로 및 디렉토리 분리 기호를 혼동하고 있습니다. 작업을 수행하는 것보다 더 좋은 방법이있을 수도 있습니다 (즉, 한 번에 전체 경로를 조합하는 것). 이런 식으로 뭔가를 시도 :

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

보통 나는이에게 내파와 조금 압축, DIRECTORY_SEPARATOR이 너무 장황 이후 :

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

내가 (가장 중요한)에 의해 생각이의 일부를 변경하여 DIRECTORY에 대한 PATH 및 가능한 경우 증분 get_include_pathset_include_path 호출을 사용하면 더 읽기 쉽고 이식성이 뛰어나고 제대로 작동 할 수 있습니다.

+0

당신이 맞아요 dirname (__ FILE__) 함수로 문제를 해결했습니다, 많이 감사합니다. –