0

我有一个在我的 xampp 上运行良好的脚本,并且可以很好地处理以下位置。

但是现在我已经把它转移到服务器上,它不起作用。我刚收到301 moved permanently 网站。我的卷曲看起来像这样:

$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_URL, $dir_url);

我已经尝试过错误报告:

error_reporting(E_ALL);

但它只是不输出任何错误......

有什么想法吗?

编辑:

//Start Curl Connection
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_URL, $dir_url);
//read content of $url
$result = curl_exec ($ch);
echo curl_error ($ch);
curl_close ($ch);
4

2 回答 2

1

我认为问题在于,在 PHP 设置中设置了 open_basedir。

我使用了这篇博文中的函数:

http://slopjong.de/2012/03/31/curl-follow-locations-with-safe_mode-enabled-or-open_basedir-set/

现在它的工作!

于 2013-05-03T16:35:13.923 回答
1

一些服务器检查某些标头的存在。
可能Accept-Language缺少:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Accept-Language: en-us'
));

referer

curl_setopt($ch, CURLOPT_REFERER, $dir_url);
于 2013-05-03T15:47:02.193 回答