2010-03-22 4 views
4

.ini 파일 설정에 중괄호로 변수를 포함하려고 시도하고 있으며 Zend는 Linux에서 올바르게 구문 분석 할 수 없다고 불평하고 있습니다. 그래도, Windows에서 제대로 작동 : 우리는 괄호를 둘러싸고 경우 리눅스에서 멀리 이동하는 오류를 얻을 수 있습니다리눅스의 젠드 설정 ini 파일에 중괄호 안에 변수 포함하기

: Uncaught exception 'Zend_Config_Exception' with message 'Error parsing /var/www/html/portal/application/configs/language/messages.ini on line 10 
' in /usr/local/zend/share/ZendFramework/library/Zend/Config/Ini.php:181 
Stack trace: 
0 /usr/local/zend/share/ZendFramework/library/Zend/Config/Ini.php(201): Zend_Config_Ini->_parseIniFile('/var/www/html/p...') 
1 /usr/local/zend/share/ZendFramework/library/Zend/Config/Ini.php(125): Zend_Config_Ini->_loadIniFile('/var/www/html/p...') 
2 /var/www/html/portal/library/Ingrain/Language/Base.php(49): Zend_Config_Ini->__construct('/var/www/html/p...', NULL) 
3 /var/www/html/portal/library/Ingrain/Language/Base.php(23): Ingrain_Language_Base->setConfig('messages.ini', NULL, NULL) 
4 /var/www/html/portal/library/Ingrain/Language/Messages.php(7): Ingrain_Language_Base->__construct('messages.ini', NULL, NULL, NULL) 
5 /var/www/html/portal/library/Ingrain/Helper/Language.php(38): Ingrain_Language_Messages->__construct() 
6 /usr/local/zend/share/ZendFramework/library/Zend/Contr in 

: 이것은 리눅스에 발생되는 오류입니다

welcome_message = Welcome, {0}. 

따옴표가 있지만 이상한 해결책으로 보입니다.

welcome_message = Welcome, "{"0"}". 

모든 플랫폼에서이 문제를 해결하는 더 좋은 방법이 있습니까? 도움을 주셔서 감사합니다.

Dave

답변

7

따옴표 사이에 전체 메시지가 표시되는 것은 어떨까요? 이 같은

비트 :

welcome_message = "Welcome, {0}." 


이 (Zend_Config_Ini가 사용할 수 있습니다) parse_ini_file의 문서를 인용 :

참고 : INI 파일 에 값이 포함되어있는 경우 영숫자가 아닌 문자 문자는 큰 따옴표로 묶어야합니다 (").

그리고, 또한 (강조 광산) :

참고 : 은 INI 파일에 대한 키로 사용할 수 없습니다 단어가 예약되어 있습니다.
이 포함 : null, yes, no, true, false, on, off, none.
null, nofalse의 결과는 ""입니다. 예 : 이고 결과는 "1"입니다.
문자 {}|&~![()^" 키 어디서나 을 사용할 수 없습니다 및 는 값에서 특별한 의미를 가지고있다.

+0

젠드 구성 Ini는 실제로 parse_ini_file을 사용합니다. 성능과 유연성을 위해 PHP configs를 권장하지만 ini를 사용한다면이 방법이 효과적입니다. –

+0

전체 메시지를 따옴표로 묶는 것이 좋습니다! 도와 주셔서 정말 감사합니다. ini 파일의 성능 문제에 대해 궁금합니다. David. –

+0

당신을 환영합니다 :-) ;; 퍼포먼스에 관해서는 필요하다면 설정 오브젝트를 캐시 할 수 있습니다. –

관련 문제