0

尝试调试在我的 Windows 机器上而不是在我的 linux 服务器上发生的作曲家错误。这是我要执行的代码

$url = "https://packages.zendframework.com/packages.json";
var_dump(file_get_contents($url));

当我执行此操作时,我得到类似: http: //grab.by/pSFI

如您所知,开头的奇怪 utf8 字符不应该存在。非安全协议不会发生这种情况(但是这个带有 301 的 url 无论如何都是安全的,所以无法演示)。

有任何想法吗?这是一个openssl dll问题吗?

4

2 回答 2

1

这是通过使用 xamp 而不是 wamp 解决的 Windows 设置问题。我的 wamp 实例使用的 php 构建中有一个错误,它会弄乱 ssl 目标上的 file_get_contents。切换到 xamp 后它可以正常工作。

于 2013-09-05T00:04:24.240 回答
0

这些步骤通常会起到作用,因为它们是我在看到那个角色时能想到的唯一原因。

  1. 打开你的文件。
  2. 确保它具有 UNIX 行结尾。
  3. 保存时修剪空白。
  4. 确保在第一个字符之前没有任何内容。(在第一个字符之前按退格键,如果你什么都没看到,以防控制字符以某种方式被复制粘贴到你看不到的地方)
  5. 确保您的服务器返回 UTF-8 编码的标头

另外,不要在不同的环境中开发……它们都应该匹配。不同系统之间可能有很多不同的怪癖。在我们同步所有环境之前,我什至在一个环境上遇到memcache问题,但在另一个环境上却没有。更糟糕的是,您可能看不到在生产环境中弹出的开发环境中的错误……然后您将无法调试它。

于 2013-09-02T00:48:27.183 回答