国际化域名转换失败



我用laravel-admin和guzzle构建了一个系统。我使用 Guzzle 向 Shopify 发送 api 请求,在我的本地环境中一切正常。但是,当我尝试在生产中创建产品时,它会给我此错误。

国际化域名转换失败

我在Google上查看了它,似乎Guzzle给了我这个错误,因为只有当我尝试创建与Shopify同步的产品时,我才会收到错误。

谷歌上没有太多关于错误的信息,我不知道为什么会发生。有没有人遇到过同样的问题?

你能在这个问题中添加PHP和Guzzle版本吗?我是此功能的作者之一,(不幸的是(在特定情况下存在一些相关问题。但要说些什么,我需要更多细节。

通常,请尝试升级到最新版本。最新的Guzzle 6.5.2可能没问题。

我也突然开始遇到这个问题。我在服务器上运行了 PHP 版本 7.2.30 和 cURL 版本 7.19.7。

昨天工作正常,今天早上工作不正常。除了我升级了Laravel和所有依赖项之外,没有任何变化。但是,我认为触发此错误的 Guzzle Utils.php 文件中的特定代码已经存在了很长一段时间。我尝试将Laravel降级到今年早些时候的版本,Guzzle保持不变。

我们最近更新了我们的 Web 服务器,但这对 PHP 版本没有影响,也不应该影响配置。

我现在收到的此错误令人困惑,我不知道如何对其进行故障排除。

编辑:我通过服务器配置找到了解决此问题的简单方法。在Laravel中挖掘代码库后,我注意到如果未安装intl扩展,Symfony会提供polyfils。因此,我只是禁用了服务器上的 intl 扩展,这导致它使用 polyfils,这为我解决了问题。

我首先检查了 intl 使用的 ICU 版本,它是一个旧版本,因此我收到错误的原因。

因此,如果您正在运行Laravel或其他基于Symfony的东西并且遇到此问题,那么如果您由于某种原因无法升级到较新版本的PHP,这可能是一个简单的解决方案。我们正在运行基于 Plesk 的服务器,因此我们依赖于它们提供 PHP 和所有各种扩展,我们无法控制它们的升级时间。

如果您没有这个问题,那么您的另一个选择是自己升级您的 PHP,并确保 intl 扩展是最新的,并且针对更新版本的 ICU 进行编译。

相关内容

最新更新