繁体   English   中英

CURLOPT_RETURNTRANSFER 设置为 true 在托管服务器上不起作用

[英]CURLOPT_RETURNTRANSFER set to true doesnt work on hosting server

我正在尝试处理$data = curl_exec($ch); 而不是打印在屏幕上。 为了实现这一点,我将选项CURLOPT_RETURNTRANSFERtrue如下所示:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

在我的本地服务器上,这按预期工作,但是当我将相同的文件放在我的服务器上时,它不起作用。

当我将CURLOPT_RETURNTRANSFERfalse它可以工作。

我究竟做错了什么?

如果将CURLOPT_RETURNTRANSFERtrue1curl_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM