php - 未找到 Heroku 类“NumberFormatter”
问题描述
在 Heroku 中部署我的 Laravel 7 应用程序时出现此错误,它仅出现在 Heroku 中,而不出现在我的本地框(本地主机)上
找不到类“NumberFormatter”(查看:...)
服务器详情:
- Heroku
- PHP 7.4.12
- Laravel 框架 7.30.4
解决方案
NumberFormatter类Docs需要PHP 国际化扩展 (intl
) Docs ,而此扩展在 Heroku Heroku 内置扩展Heroku Docs中内置不可用。
相反,Heroku 允许您使用可选扩展Heroku Docs。
要使用它们,您可以使用 composer 命令来要求它(“ext-intl”):
composer require ext-intl
或者您可以手动将其添加到Composer Docscomposer.json
的require部分:
{
"require": {
"ext-intl": "*"
}
}
提交文件并将更改推送到 Heroku。在您找到下一个丢失的课程之前,该错误应该消失。
这是另一个例子,为什么如果你有一个基于 Composer 的 PHP 项目,在文件中记录正在使用的扩展是一个好主意composer.json
。
当这一天到来时,您已经将它们记录在 Composer JSON 中。
像 Heroku 这样的系统也可以从中受益!
推荐阅读
- django - 与用户模型的关系(django)
- pandas - 是否可以在 Pandas 中使用 iterrows 选择多行?
- oracle - 为什么长度(列)和长度b(列)返回相同的长度?
- c - C/C++ 运行时检查失败 #2 - 变量“gradeLetter”周围的堆栈已损坏。Visual Studio 2019。如何解决这个问题?
- heroku - 将 g++ 添加到 heroku 节点服务器
- java - 即使 Activity 被销毁,Android Handler 也会继续运行一段时间
- ruby - 为什么我可以使用 Firefox 或 WGET 访问网站,但无法使用 CURL 或 Ruby
- java - 使用 .class 中的函数或对象 - IntelliJ
- javascript - 从 jsfiddle.net 复制的代码不起作用
- php - 在 laravel 中的 setLocale 之后获取国家/地区的当前日期