Frage

Ich versuche, eine Variable in einer INI-Datei Einstellung einschließen indem sie sie mit geschweiften Klammern umgeben, und Zend beschwert, dass es nicht richtig auf Linux analysieren kann. Es funktioniert auf Windows, aber:

welcome_message = Welcome, {0}.

Das ist der Fehler, der auf Linux geworfen wird:

:  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

Wir sind in der Lage, den Fehler zu bekommen auf Linux gehen weg, wenn wir die Klammern mit Anführungszeichen umgeben, aber das scheint wie eine seltsame Lösung:

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

Gibt es einen besseren Weg, um dieses Problem für alle Plattformen zu lösen? Vielen Dank für Ihre Hilfe,

Dave

War es hilfreich?

Lösung

Was ist die gesamte Nachricht in Anführungszeichen zu haben?

Bit A wie folgt aus:

welcome_message = "Welcome, {0}."


Unter Angabe der Dokumentation von parse_ini_file (die Zend_Config_Ini verwenden könnte) :

  

Hinweis: Wenn ein Wert in der ini-Datei   enthält keine nicht-alphanumerische   Zeichen in eingeschlossen werden muss   doppelte Anführungszeichen (").

Und auch (Hervorhebung von mir) :

  

Hinweis: Es gibt reservierte Worte, die   darf nicht als Schlüssel für ini verwendet werden   Dateien.
Dazu gehören: null, yes, no,   true, false, on, off, none.
Werte   null, no und false Ergebnisse in "", ja   und echte Ergebnisse in "1".
Charaktere   {}|&~![()^" darf nicht verwendet werden   überall auf der Taste und Haben Sie einen   besondere Bedeutung in dem Wert .

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