关于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 setcookie() cannot modify header information 的解决方法
Jan 09 PHP
PHP时间戳与日期之间转换的实例介绍
Apr 19 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
PHP队列用法实例
Nov 05 PHP
php通过rmdir删除目录的简单用法
Mar 18 PHP
PHP is_array() 检测变量是否是数组的实现方法
Jun 13 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
Oct 14 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
Nov 05 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
Jun 13 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
PHP+RabbitMQ实现消息队列的完整代码
Mar 20 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实现把数字ID转字母ID
2013/08/12 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
2015/08/25 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
2015/07/09 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
vue事件修饰符和按键修饰符用法总结
2017/07/25 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
Python实现SVN的目录周期性备份实例
2015/07/17 Python
python黑魔法之参数传递
2016/02/12 Python
python入门教程 python入门神图一张
2018/03/05 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
WxPython建立批量录入框窗口
2019/02/27 Python
CentOS7下安装python3.6.8的教程详解
2020/01/03 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
计算机专业个人简短的自我评价
2013/10/23 职场文书
主持人开幕词
2015/01/29 职场文书
离婚起诉书范本
2015/05/18 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
情况说明书格式及范文
2019/06/24 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
简单了解 MySQL 中相关的锁
2021/05/25 MySQL