【发布时间】:2011-05-09 12:59:54
【问题描述】:
我不敢问这个问题,因为它看起来很奇怪。 但无论如何。 以防万一有人已经遇到同样的问题...... 文件系统函数(fopem、file、file_get_contents)对于 http:// wrapper 的行为非常奇怪
- 它似乎有效。 没有出现错误。 fopen() 返回资源。
- 它不返回所有确实有效的网址的数据(例如
http://google.com/)。
file 返回空数组,file_get_contents() 返回空字符串,fread 返回 false - 对于所有故意错误的 url(例如
http://goog973jd23le.com/),它的行为完全相同,除了 [supposedly domain lookup] 超时,之后我没有收到错误(虽然应该!)但是空字符串。 - url_fopen_wrapper 已开启
- curl(命令行和 php 版本)工作正常,所有其他实用程序和应用程序工作正常,本地文件打开正常
This error 似乎不适用,因为在我的情况下,它不适用于每个 url 或主机。
php-fpm 5.2.11 Linux 版本 2.6.35.6-48.fc14.i686 (mockbuild@x86-18.phx2.fedoraproject.org)
【问题讨论】:
-
有什么理由不想使用 libcurl 吗?似乎这是否有效,它可能是您的理想替代品。
-
@Treffynnon 我现在正在重写代码以使用 curl,但仍然想知道 file_get_contents() 有什么问题
-
对哪个特定的 URL 不起作用?
-
@Col。弹片 是的,这是一种奇怪的东西,我以前从未遇到过。当您也发现时,我期待看到正在发生的事情。
-
我猜是因为
http://google.com/重定向到http://www.google.com你尝试过其他网址吗?