问题描述
在 Heroku 中部署我的 Laravel 7 应用程序时出现此错误,它仅出现在 Heroku 中,而不出现在我的本地框 (localhost) 中
未找到“NumberFormatter”类(视图:...)
服务器详细信息:
解决方法
NumberFormatter classDocs 需要 PHP Internationalization extension (intl
)Docs,而且 Heroku Heroku Built-in ExtensionsHeroku Docs 上没有内置此扩展。
相反,Heroku 允许您使用 optional extensionsHeroku Docs。
要使用它们,您可以使用 composer 命令来要求它(“ext-intl”):
composer require ext-intl
或者您可以手动将其添加到 require sectionComposer Docs 中的 composer.json
:
{
"require": {
"ext-intl": "*"
}
}
提交文件并将更改推送到 Heroku。该错误应该消失,直到您找到下一个缺失的类。
这是另一个例子,如果您有一个基于 Composer 的 PHP 项目,那么最好在 composer.json
文件中记录正在使用的扩展。
当这一天到来时,您已经将它们记录在 Composer JSON 中。
像 Heroku 这样的系统也可以从中受益!