在工作中我有一个很大的问题,即我们的应用程序的cURL部分可以在我们的实时环境中工作,但它可以在我们的QA服务器上正常工作。服务器环境“应该”是相同的。
cURL正在执行,但数据未被回发。我想知道的是...服务器上有什么东西我可以检查以确认卷曲是否已安装,正常运行等?是否有一些配置文件,我应该看看是否因为某个设置而没有回发数据?
我不知道如何以及如何开始研究......或者如何解决这个问题。有人可以提出一些建议吗?
curl正在执行,但数据未被回发。我想知道的是...服务器上有什么东西我可以检查以确认卷曲是否已安装,正常运行等?是否有一些配置文件,我应该看看是否因为某个设置而没有回发数据?
答案 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_errno
或curl_error
(针对上一个错误)。
此外,您可以通过以下方式获得有关该对象的更多信息:
print_r( curl_getinfo( $theNameOfYourCURLObject ) );
查看您是否收到错误的HTTP状态(&gt; 400)。