2014-10-01 73 views
0

我想要做的是使用PHP来发出http请求,这样我安装http扩展并且看起来很成功,因为如果我运行phpinfo(),我可以清楚地明确http扩展名。php http扩展安装正常,但从来没有工作

但是,这里的问题是,即使是最简单的http函数也无法正常工作。

例如,如果我尝试了以下两种情况:

  1. 回声1; echo http_request(HTTP_METH_GET,“http://www.google.com”);

我会得到“1”作为回报。

  1. echo http_request(HTTP_METH_GET,“http://www.google.com”); echo 1;

我没有得到任何东西。

任何人都可以帮助我吗?我花了太多时间。 - 非常感谢。

+0

请暂时打开您的错误报告(http://php.net/manual/en/function.error-reporting.php),以便我们可以看到错误说的是什么,或者找到你的error_log(http://php.net/manual/en/function.error-log.php)位置并找到错误。您也可以尝试使用curl功能或fopen(假设您有权使用它打开网址?)? – Hans 2014-10-01 03:28:28

+0

@Hans虽然它很受欢迎。 - 只是我在这里发布,似乎http_request是一个“无限循环”,因为“回声1”永远不会执行第二种情况。但对于第一种情况,我可以得到“回声1”。 – ylongqi 2014-10-01 04:22:03

+0

@Hans当我在php代码中添加“error_reporting”后,我还没有看到任何报告。我需要去文件系统的其他地方去报告吗?谢谢 – ylongqi 2014-10-01 04:23:26

回答

0

请检查是否有http.so文件在你的PHP扩展库 通常它定位在/ usr/lib中/ PHP /分机/无调试无zts-。

如果是这样,添加在/ etc一个的php.ini文件/

和线 延长= http.so

我想应该是没有问题的。

0

我认为你需要在你的php.ini文件

改变一些变化enable_dl = Offenable_dl = On

看一看here

0

可能是你已经安装了版本2 *的pecl_http 与版本1非常不同并且不兼容。*。

p.s.您可以在phpinfo()输出中查看版本