关于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 相关文章推荐
一个可以删除字符串中HTML标记的PHP函数
Oct 09 PHP
php替换超长文本中的特殊字符的函数代码
May 22 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
Mar 18 PHP
Thinkphp中的volist标签用法简介
Jun 18 PHP
php中函数前加&amp;符号的作用分解
Jul 08 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 PHP
详谈PHP程序Laravel 5框架的优化技巧
Jul 18 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
vmware linux系统安装最新的php7图解
Apr 14 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 PHP
TP5框架安全机制实例分析
Apr 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
用Simple Excel导出xls实现方法
2012/12/06 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
PHP echo()函数讲解
2019/02/15 PHP
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
一些javascript一些题目的解析
2010/12/25 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
jquery使用echarts实现有向图可视化功能示例
2019/11/25 jQuery
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
Python selenium如何打包静态网页并下载
2020/08/12 Python
python中pivot()函数基础知识点
2021/01/03 Python
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
巴西最大的体育用品商城:Netshoes巴西
2016/11/29 全球购物
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
办公室前台岗位职责范本
2013/12/10 职场文书
继电保护工岗位职责
2014/01/05 职场文书
2015感人爱情寄语
2015/02/26 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
python开发飞机大战游戏
2021/07/15 Python
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android