PHP中的cURL问题

时间:2010-01-21 02:03:27

标签: php curl

在工作中我有一个很大的问题,即我们的应用程序的cURL部分可以在我们的实时环境中工作,但它可以在我们的QA服务器上正常工作。服务器环境“应该”是相同的。

cURL正在执行,但数据未被回发。我想知道的是...服务器上有什么东西我可以检查以确认卷曲是否已安装,正常运行等?是否有一些配置文件,我应该看看是否因为某个设置而没有回发数据?

我不知道如何以及如何开始研究......或者如何解决这个问题。有人可以提出一些建议吗?

curl正在执行,但数据未被回发。我想知道的是...服务器上有什么东西我可以检查以确认卷曲是否已安装,正常运行等?是否有一些配置文件,我应该看看是否因为某个设置而没有回发数据?

1 个答案:

答案 0 :(得分:1)

如果您的服务器是基于* nix的,并且您具有对服务器的CLI访问权限,请尝试键入

php -i

并查看它是否会泄露大量有关您的配置的数据。要自动搜索cURL,请执行以下操作:

php -i | grep cURL

并查看是否有任何显示。如果您的服务器不是* nix,您没有访问权限,或者找不到命令(它不在$PATH上),我建议采用下一种方式。

第二种方式 - 将以下文本保存为文件(例如phpinfo.php):

<?php phpinfo(); ?>

并把它放在生产环境的某个地方,没有人会去(在你离开它的那一刻)。否则,如果你是一个安全怪人,请告诉我,我会再添加一些代码。

无论如何,在网络浏览器中点击该文件(即http:// production.server / secure_or_obscure_dir / phpinfo.php),然后删除源文件(同时保持页面打开)。

再次查看此页面以获取cURL或按CTRL + f,然后输入“cURL”(省略引号)。

如果有cURL,则安装它,否则你必须安装它。

如果已安装,您可能无法获得良好的数据。检查cURL对象上的curl_errnocurl_error(针对上一个错误)。

此外,您可以通过以下方式获得有关该对象的更多信息:

print_r( curl_getinfo( $theNameOfYourCURLObject ) );

查看您是否收到错误的HTTP状态(&gt; 400)。