关于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 相关文章推荐
PHP编程中八种常见的文件操作方式
Nov 19 PHP
MYSQL环境变量设置方法
Jan 15 PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
Jan 27 PHP
浅析php中常量,变量的作用域和生存周期
Aug 10 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
May 09 PHP
浅谈mysql_query()函数的返回值问题
Sep 05 PHP
THINKPHP在添加数据的时候获取主键id的值方法
Apr 03 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 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下正则来匹配dede模板标签的代码
2010/08/21 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
轻松实现php文件上传功能
2017/02/17 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
Vue代码分割懒加载的实现方法
2017/11/23 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
vue npm install 安装某个指定的版本操作
2020/08/11 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
[36:20]KG vs SECRET 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python中的赋值、浅拷贝、深拷贝介绍
2015/03/09 Python
python安装以及IDE的配置教程
2015/04/29 Python
Python机器学习之SVM支持向量机
2017/12/27 Python
Python Subprocess模块原理及实例
2019/08/26 Python
python程序 创建多线程过程详解
2019/09/23 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
如何通过python实现IOU计算代码实例
2020/11/02 Python
彻底弄明白CSS3的Media Queries(跨平台设计)
2010/07/27 HTML / CSS
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
印尼购物网站:iLOTTE
2019/10/16 全球购物
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
标准的毕业生自荐信
2014/04/20 职场文书
人力资源管理专业毕业生自荐书
2014/05/25 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
货款欠条范本
2015/07/03 职场文书
公司管理制度范本
2015/08/03 职场文书
作文之亲情600字
2019/09/23 职场文书
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技
python三子棋游戏
2022/05/04 Python
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技