我正在尝试处理 $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
则这将是一个问题效果也会导致 curl 问题。
关于php - CURLOPT_RETURNTRANSFER 设置为 true 在托管服务器上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12269929/