2010-11-23 4 views
1

내가 멋지 설정을 얻으려고 노력하고 내가 설치 지침에 따라 후 여기에 오픈 소스 프로젝트멋지 수정 PHP

http://sourceforge.net/projects/assign-calc/

를 설치할 수 있도록하고 있어요, 나는 다음과 같은 오류 메시지가 박히

<b>Fatal error</b>: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template &quot;/var/www/dev/calendar/skins/rpc/tmpl/page/rpc_header.tpl&quot; on line 5 &quot;   {$application.long_name|escape}&quot; unknown modifier &quot;escape&quot;' in /usr/lib/php5/Smarty/Smarty/sysplugins/smarty_internal_templatecompilerbase.php:423 
Stack trace: 
#0 /usr/lib/php5/Smarty/Smarty/sysplugins/smarty_internal_compile_private_modifier.php(62): Smarty_Internal_TemplateCompilerBase-&gt;trigger_template_error('unknown modifie...', 5) 
#1 /usr/lib/php5/Smarty/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(279): Smarty_Internal_Compile_Private_Modifier-&gt;compile(Array, Object(Smarty_Internal_SmartyTemplateCompiler), Array, NULL, NULL) 
#2 /usr/lib/php5/Smarty/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(123): Smarty_Internal_TemplateCompilerBase-&gt;callTagCompiler('private_modifie...', Array, Array) 
#3 /usr/lib/php5/Smarty/Smarty/sysplugins/smarty_internal_compile_private_print_expression.php(68): Smarty_Internal_TemplateCompilerBase in <b>/usr/lib/php5/Smarty/Smarty/sysplugins/smarty_internal_templatecompilerbase.php</b> on line <b>423</b><br /> 

는 인터넷 검색 조금 후에, 나는 문제가 플러그인 디렉토리에 탈출 수정을 읽는하지 스마티에 의해 원인이되는 생각합니다.

어떻게 해결할 수 있습니까? 나도 똑똑한에 777 권한을 시도했지만 그게 아무것도 바꿀 수 없다 ...

답변

1

현명한 구성을 올바르게로드 했습니까? 특히, 명령을 통해 플러그인 경로를 올바르게 설정 했습니까?

$smarty->addPluginsDir('path/to/plugins'); 

?

+0

내가 사용하고있는 것은 Smarty를 새로 설치하고 assign-calc를 새로 설치하는 것입니다. Smarty에 대한 설정 파일 (assign-calc)에 설정되지 않았기 때문에, 나는이 폴더가 자동으로로드되어야한다고 생각합니다. (최소한 내가 본 Smarty 문서를 기반으로해야합니다. 이 줄을 지정하는 것이 좋습니다 –

+0

Smarty 설명서에서 모범 사례를 찾을 수 있습니다. 그러나 맞습니다. 새로 설치하면 기본 플러그 인을 올바르게로드해야합니다. 아마도 assign-calc는 smarty 엔진에서 일부 구성을 설정합니까? –

+0

당분간 나는 당신의 코드 라인에 추가했는데 작동하는 것처럼 보이지만, 나는 그것이 자동적으로 처음에는 자동적으로 탐지되지 않는 이유에 대한 답을 공개하고있다. 다른 서버로 옮겨진다. –

0

절대 시스템 경로는 가장 빠르고 안전한 방법입니다. 상대 경로를 사용할 수 있지만, include_path에 PHP가 무엇인지 찾는 데 필요한 경로가 포함되어 있는지 확인하십시오. SMARTY_DIR을 사용하여 경로의 기반을 잡을 수도 있습니다.

1

저는 Research Project Calculator의 개발자로서 다른 사용자가 동일한 문제를 조사하는 동안이 SO 질문을 발견했습니다. 이 코드는 불과 몇 주 동안 야생에 있었으며 우리는 다른 기관이 설치 한대로 이러한 것들 중 일부를 발견하고 있습니다.

inc/rpc_smarty.inc.php 클래스 생성자에서 다른 것보다 먼저 parent::__construct();을 명시 적으로 호출하여 다른 사용자가 실행할 수 있습니다. 나는 새 버전을 곧 게시 할 예정이지만, 지금은 아래와 같이 해당 생성자를 패치 할 수 있어야합니다.

질문이 있거나 다른 문제가있는 경우 프로젝트의 설치 지침 wiki 페이지에있는 링크를 통해 저에게 연락하십시오.

public function __construct($config) 
{ 
    parent::__construct(); 
    $this->config = $config; 
    ... 
    ... 
}