【发布时间】:2015-11-27 13:10:09
【问题描述】:
当我调用 http_get 时,它永远不会返回,我的 WEB 页面此时停止输出。目标网址永远不会收到请求。
<?php //simplest test of http_get I could make
print "http://kayaker.net/php/image.php?id=ORCS084144<br>";
http_get ("http://kayaker.net/php/image.php?id=ORCS084144");
print "<br>back from http_get<br>";
?>
原始脚本在循环中调用http_get 以将数据发送到另一台服务器上的其他几个进程。
循环在第一次调用 http_get 时停止。我尝试调用 flush();打印完每一行后,没有喜悦。我尝试在$options 参数中将更长的超时设置为http_get,但这没有帮助。我尝试在第一个参数中使用HTTP_METH_GET 调用http_request,同样的问题。
此皮划艇 URL 不是原始 URL,只是一个仍然失败的较短示例。我取了一个原始 URL 并将其粘贴到我的浏览器地址行中,它运行良好。我将一些原始 URL 粘贴到另一种脚本语言中(Open Simulator 上 LSL 中的 llHTTPRequest 函数),它们从那里正常工作。
我将程序存储在at a location 上面,您可以在其中从浏览器运行它并看到它失败。
我将上面程序的 URL 粘贴到另一种脚本语言中,并且至少返回了错误状态 (500) 和消息“内部服务器错误”,这可能只是意味着测试程序没有正确终止。
我一定是在做一些非常简单愚蠢而且基本上是错误的事情。
但它是什么?
【问题讨论】:
-
您的日志怎么说?是否已定义,您可以查看
function_exists("http_get"); -
这是一个商业 WEB 托管系统,我无法像我在这里看到的所有答案一样卸载或重新安装版本或模块。哎呀,他们甚至不会给我一个空壳帐户!他们给我的PHP版本是5.2,没有其他信息。
-
好的,http_get函数不存在。没有它我如何发出 HTTP 请求?
-
试试 CURL,或者
file_get_contents -
如果你只是期望数据不是其他的,你可以用 curl 做同样的事情你可以使用一个简单的函数 file_get_content 试试这个php.net/manual/en/function.file-get-contents.php
标签: php http-get http-request