0

smarty を v3 にアップグレードしました。私はこれについて奇妙なことがあります。コードが v2 形式であるため、SmartyCompilerExceptions が正常にスローされます。

私の tpl:{foreach key=k item=i from=$err}...{/foreach}にはこれがありますが、これは Smarty 3 では機能しません。これを変更しますが、私の問題は次のとおりです。

Smarty は、私の運用サーバーでのみこれらのエラーをスローします。
Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "/www/site/tpl/system.tpl" on line 272 "{foreach key=key item=item from=$content}" - Unexpected "$", expected one of: "identifier"'
私のホームサーバーではすべてが機能します。両方のシステムで同じ apache、php、Smarty を使用しています。

どうすればいいの?エラーをスローせずに Smarty 3 でテスト システムの古いコードが機能するのはなぜですか? 何か案は?

4

2 に答える 2

0

その理由は、本番サーバーがエラーをスローし、テストサーバーがエラーをスローしないため、本番サーバーではmbstring.func_overload7に設定され、テストサーバーでは0に設定されているためです。

それが誰かに役立つことを願っています。

于 2013-03-12T22:26:12.823 に答える
0

呼び出しを次のように変更してみてください。

{foreach key="key" item="item" from=$content}

つまり、文字列を二重引用符で囲みます。Smarty 3 は、引用に関してはより厳密です

于 2013-03-11T20:56:04.757 に答える