关于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通用分页类page.php[仿google分页]
Aug 31 PHP
PHP memcache扩展的三种安装方法
Apr 26 PHP
php下拉选项的批量操作的实现代码
Oct 14 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
Nov 07 PHP
PHP面向对象程序设计之接口用法
Aug 20 PHP
PHP正则表达式过滤html标签属性(DEMO)
May 04 PHP
PHP Header用于页面跳转时的几个注意事项
Oct 21 PHP
php封装json通信接口详解及实例
Mar 07 PHP
PHP实现的下载远程文件类定义与用法示例
Jul 05 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
PDO::getAttribute讲解
Jan 28 PHP
Ajax+Jpgraph实现的动态折线图功能示例
Feb 11 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 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
PHP内置加密函数详解
2016/11/20 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
php swoft框架实例用法
2020/12/22 PHP
javascript确认框的三种使用方法
2013/12/17 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
JavaScript生成随机字符串的方法
2015/03/19 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
微信小程序如何使用云开发
2019/05/17 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
Python help()函数用法详解
2014/03/11 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
python web自制框架之接受url传递过来的参数实例
2018/12/17 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
如何完美的建立一个python项目
2020/10/09 Python
用python对excel查重
2020/12/07 Python
网吧最新创业计划书范文
2014/03/27 职场文书
党员对照检查材料
2014/09/22 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
2014年工程工作总结
2014/11/25 职场文书
设备技术员岗位职责
2015/04/11 职场文书
投资合作意向书范本
2015/05/08 职场文书
责任书范本大全
2015/05/11 职场文书
详解java如何集成swagger组件
2021/06/21 Java/Android
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript