为什么 fgets 在 wamp 上挂在某个 url 上,但在 mamp 上没问题?
我有一个使用 fopen & 读取 RSS 提要的脚本。 fgets。
尝试访问提要时:http://rss.fok.nl/feeds/nieuws我的脚本挂起,直到达到 PHP 的 max_timeout 。
事实是:
- 直到今天它都运行良好(在同一个网址上)。
- 它仍然可以在我的开发 mac MAMP 服务器上运行。
- 它不适用于生产 WAMP 服务器(php 5.2.8)
我尝试了 fread 但没有成功。
有任何想法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,这更像是一种解决方法,而不是答案,但我不得不诉诸它。
我使用以下方法切换到curl,使用此功能:
我在这里找到它: http://il.php.net/manual/en/function.file-get-contents.php
顺便说一句,如果有人想深入挖掘,根据 fgets 挂起的其他报告,看来这与“feof”或缺乏“feof”有关......
Well, it's more of a workaround than an answer, but I had to resort to it.
I used the following to switch over to curl, using this function:
I found it here: http://il.php.net/manual/en/function.file-get-contents.php
btw, in case anyone wants to dig deeper, according to other reports of fgets hanging, it seems it has something to do with the 'feof' or lack thereof...
也许尝试使用wireshark(Ethereal)调试您的连接。这应该会给你原因。 也许网络服务器由于用户代理而阻止了您的请求。
您可以在 Windows 机器上手动下载该文件吗?
Perhaps try to debug your connection using wireshark (Ethereal). This should give you the reason. Perhaps the webserver is blocking your requests because of the user-agent.
Can you download the file manually on the Windows machine?