作者:初始 | 来源:互联网 | 2024-09-27 15:02
我正在尝试处理来自$datacurl_exec($ch)的结果;而不是在屏幕上打印它.为了实现这一点,我将选项CURLOPT_RETURNTRANSFER设置为true,如下所示:
我正在尝试处理来自$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有效,这可能会导致卷曲问题,这将是一个问题.