找不到symfony1.4 I18nHelper.php
我将symfony1.4项目从本地机器(windows7)部署到测试服务器(Linux-Ubuntu服务器)。 每当我通过浏览器(即FF…)打开此项目时,我都会收到一个错误500,这肯定是由于我从日志/前端_暂存中得到的错误引起的:找不到symfony1.4 I18nHelper.php,symfony1,internationalization,symfony-1.4,Symfony1,Internationalization,Symfony 1.4,我将symfony1.4项目从本地机器(windows7)部署到测试服务器(Linux-Ubuntu服务器)。 每当我通过浏览器(即FF…)打开此项目时,我都会收到一个错误500,这肯定是由于我从日志/前端_暂存中得到的错误引起的: "symfony [err] {InvalidArgumentException} Unable to load "I18nHelper.php" helper in: SF_ROOT_DIR/apps/frontend/lib/helper, SF_ROOT_DI
"symfony [err] {InvalidArgumentException} Unable to load "I18nHelper.php" helper in: SF_ROOT_DIR/apps/frontend/lib/helper, SF_ROOT_DIR/lib/helper, SF_ROOT_DIR/lib/vendor/symfony/lib/helper."
文件
I18NHelper.php
位于SF\u ROOT\u DIR/lib/vendor/symfony/lib/helper
中,因此我看不出有问题。我已经使用了命名,尽管有些人提到他们在Unix系统上对Helpers名称中的大写N有问题,但这根本没有解决我的问题 这是一件非常讨厌的小事:
使用
而不是
(注意最后一个“n”的大写字母)
Linux与Windows不同,它区分大小写。这是一个非常讨厌的小东西: 使用
而不是
(注意最后一个“n”的大写字母)
与Windows不同,Linux区分大小写。您拼错了助手的名字,最后一个“N”应该是大写 在模板中,它应该如下所示:
<?php use_helper('I18N'); ?>
standard_helpers: [Partial, Cache, I18N]
您必须记住,symfony YAML配置文件被缓存为php文件。如果不清理缓存,则不会应用更改(当然取决于环境)。尝试使用:
php symfony cc
在命令行中,它应该会修复它。您拼错了助手的名称,最后的“N”应该是大写 在模板中,它应该如下所示:
<?php use_helper('I18N'); ?>
standard_helpers: [Partial, Cache, I18N]
您必须记住,symfony YAML配置文件被缓存为php文件。如果不清理缓存,则不会应用更改(当然取决于环境)。尝试使用:
php symfony cc
从命令行,它应该修复它。我没有将帮助程序添加到每个模板,而是在设置中全局配置它。yml:
i18n:true
和标准帮助程序:[部分,缓存,i18n]
。将第二个I18n更改为I18n不会更改任何内容,因此我肯定还缺少另一个内容。您清除缓存了吗?如果仔细查看,异常会说它正在查找I18nHelper.php
,而您说I18nHelper.php
确实存在于helper文件夹中(请再次注意N的大小写)…我知道,无论我写I18N还是I18N,错误消息都不会更改,它总是在寻找I18n。您可以通过将I18nHelper.php
重命名或符号链接到I18nHelper.php
来测试您的设置。只是为了验证设置。(不建议继续生产以备将来更新)。我认为在某个地方仍然引用了I18n
…正如我在回答中所说的那样,这是有效的,所以symfony总是在寻找小写的I18n。我不知道在哪里更改它,甚至在I18n上搜索了整个项目(不区分大小写),也没有找到任何其他情况。我没有将帮助程序添加到每个模板,而是在设置中全局配置它。yml:I18n:true
和标准帮助程序:[部分,缓存,I18n]
。将第二个I18n更改为I18n不会更改任何内容,因此我肯定还缺少另一个内容。您清除缓存了吗?如果仔细查看,异常会说它正在查找I18nHelper.php
,而您说I18nHelper.php
确实存在于helper文件夹中(请再次注意N的大小写)…我知道,无论我写I18N还是I18N,错误消息都不会更改,它总是在寻找I18n。您可以通过将I18nHelper.php
重命名或符号链接到I18nHelper.php
来测试您的设置。只是为了验证设置。(不建议继续生产以备将来更新)。我认为在某个地方仍然引用了I18n
…正如我在回答中所说的那样,这是有效的,所以symfony总是在寻找小写的I18n。不知道从哪里改变它,甚至在I18n上搜索了整个项目(不区分大小写),没有发现任何其他情况。正如下面的评论所说,这一点都没有帮助。Symfony总是寻找I18n,不管设置中写了什么。ymlAs在下面的评论中说,这根本没有帮助。Symfony始终查找I18n,无论settings.yml中写了什么