关于php curl获取301或302转向的网址问题的解决方法


Posted in PHP onJune 02, 2011

在使用php的curl获取远程文件,代码如下:

<? 
$ghurl = isset($_GET['id']) ? $_GET['id']:'http://www.baidu.com/'; 
// php 获取 
function getContents($url){ 
$header = array("Referer: http://www.baidu.com/"); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
curl_setopt($ch, CURLOPT_HTTPHEADER,$header); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); //是否抓取跳转后的页面 
ob_start(); 
curl_exec($ch); 
$contents = ob_get_contents(); 
ob_end_clean(); 
curl_close($ch); return $contents; 
} 
$contents = getContents($ghurl); 
echo $contents; 
?>

一般来说在win2003+iis下如,把php_curl.dll配置好就没问题了。

但笔者在 linux+apahe2.0+php5.2.12+directadmin,(一般国外主机商都是用这配置)如果获取的网址有301/302跳转,会报错:

curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in ***

关于这个问题,google,百度一下,都是在大篇长长的english,不精通linux的还真头痛。
解决办法其实很简单:登陆你的 directadmin
找到 ->>"PHP SafeMode Configuration" -->>看下图

关于php curl获取301或302转向的网址问题的解决方法 

把默认的 Default SafeDefault Open BaseDir OFF,问题就解决了。

PHP 相关文章推荐
phpMyadmin 用户权限中英对照
Apr 02 PHP
PHP 八种基本的数据类型小结
Jun 01 PHP
关于Iframe如何跨域访问Cookie和Session的解决方法
Apr 15 PHP
PHP判断网络文件是否存在的方法
Mar 12 PHP
php实现多城市切换特效
Aug 09 PHP
学习php设计模式 php实现状态模式
Dec 07 PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
May 21 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
Oct 25 PHP
Yii2单元测试用法示例
Nov 12 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
PHP chop()函数讲解
Feb 11 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
Jun 02 #PHP
PHP curl_setopt()函数实例代码与参数分析
Jun 02 #PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 #PHP
使ecshop模板中可引用常量的实现方法
Jun 02 #PHP
php 数组使用详解 推荐
Jun 02 #PHP
php smarty 二级分类代码和模版循环例子
Jun 01 #PHP
PHP 八种基本的数据类型小结
Jun 01 #PHP
You might like
php session 检测和注销
2009/03/16 PHP
给ECShop添加最新评论
2015/01/07 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
yii使用activeFileField控件实现上传文件与图片的方法
2015/12/28 PHP
UserData用法总结 lanyu出品
2010/07/01 Javascript
你必须知道的Javascript知识点之&quot;this指针&quot;的应用
2013/04/23 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
jQuery中的编程范式详解
2014/12/15 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
Avalonjs双向数据绑定与监听的实例代码
2017/06/23 Javascript
微信小程序使用navigateTo数据传递的实例
2017/09/26 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
vue实现购物车的监听
2020/04/20 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
[56:12]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第一场 6.3
2018/06/04 DOTA
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
学校学雷锋活动总结
2014/06/26 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
校园安全广播稿范文
2014/09/25 职场文书
前台文员岗位职责
2015/02/04 职场文书
学期个人自我总结
2015/02/13 职场文书
道士塔读书笔记
2015/06/30 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
javascript canvas实现雨滴效果
2021/06/09 Javascript
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电
sql注入报错之注入原理实例解析
2022/06/10 MySQL