[英]cURL PHP not working if CURLOPT_RETURNTRANSFER set true
[英]CURLOPT_RETURNTRANSFER set to true doesnt work on hosting server
我正在尝试处理$data = curl_exec($ch);
而不是打印在屏幕上。 为了实现这一点,我将选项CURLOPT_RETURNTRANSFER
为true
如下所示:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
在我的本地服务器上,这按预期工作,但是当我将相同的文件放在我的服务器上时,它不起作用。
当我将CURLOPT_RETURNTRANSFER
为false
它可以工作。
我究竟做错了什么?
如果将CURLOPT_RETURNTRANSFER
为true
或1
则curl_exec
的返回值将是成功操作的实际结果。 换句话说,它不会在成功时返回TRUE
。 虽然它会在失败时返回FALSE
。
如curl-exec
PHP 手册页的返回值部分所述: http : //php.net/manual/function.curl-exec.php
您应该启用CURLOPT_FOLLOWLOCATION
对重定向的选择,但如果你的服务器是,这将是一个问题safe_mode
和/或open_basedir
是这可能会导致问题的卷曲度,以及效果。
如果它在您的本地环境中运行良好,则可能是您的远程服务器的 IP 被您为 cURL 设置的目标 URL 的服务器阻止了。 您需要验证您的远程服务器是否可以访问您为CURLOPT_URL设置的 URL 。
试试这一行:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
后:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.