Magento2/PHP - file_get_contents() returns 两种不同环境下的不同输出长度
Magento2/PHP - file_get_contents() returns different output length on 2 different environments
我每次都带着我的第一个问题来这里,因为我不知道该怎么做了。
我有一个 URL(来自安全措施为 0 的 API 的端点)returns 我有一个 2.5mb json 和将近 3000 种产品。这里一切都好。事情是:
如果我在带有 XAMPP 服务器的 LOCALHOST 上使用以下代码...一切都很好。我返回的整个 JSON 都是有效的,我可以在上面使用 json_decode() 并尽情享受它。
$response= file_get_contents($url);
var_dump($response);
但是
如果我在生产网站所在的主机上使用相同的代码...我得到的只是 chunked/sometimes 减半的 JSON 总是在 json_decode( );
我看到的问题是我得到了不同大小的内容。
在第一张图片中,我有一个大小为 2 551 849 的字符串
在第二张图片中,我有一个大小为 817 600
的字符串
请记住,这与使用的代码相同。我现在想到的第一个想法是,也许我的托管对这类输出有限制......?
有这种东西吗?我该如何调试?
我翻到了 Google/Stack 的第 10 页,但找不到类似的内容。
看来我找到问题了
我的主机使用的是 LiteSpeed,他们有一个针对 DDoS 攻击的安全机制。
好吧,我端点的响应似乎太大了,LiteSpeed 认为这是一次 DDoS 攻击。
禁用这种机制应该可以解决它。
我每次都带着我的第一个问题来这里,因为我不知道该怎么做了。
我有一个 URL(来自安全措施为 0 的 API 的端点)returns 我有一个 2.5mb json 和将近 3000 种产品。这里一切都好。事情是:
如果我在带有 XAMPP 服务器的 LOCALHOST 上使用以下代码...一切都很好。我返回的整个 JSON 都是有效的,我可以在上面使用 json_decode() 并尽情享受它。
$response= file_get_contents($url);
var_dump($response);
但是
如果我在生产网站所在的主机上使用相同的代码...我得到的只是 chunked/sometimes 减半的 JSON 总是在 json_decode( );
我看到的问题是我得到了不同大小的内容。
在第一张图片中,我有一个大小为 2 551 849 的字符串 在第二张图片中,我有一个大小为 817 600
的字符串请记住,这与使用的代码相同。我现在想到的第一个想法是,也许我的托管对这类输出有限制......?
有这种东西吗?我该如何调试?
我翻到了 Google/Stack 的第 10 页,但找不到类似的内容。
看来我找到问题了
我的主机使用的是 LiteSpeed,他们有一个针对 DDoS 攻击的安全机制。
好吧,我端点的响应似乎太大了,LiteSpeed 认为这是一次 DDoS 攻击。
禁用这种机制应该可以解决它。