关于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 相关文章推荐
域名查询代码公布
Oct 09 PHP
PHP实现多服务器session共享之NFS共享的方法
Mar 16 PHP
深入解析PHP中逗号与点号的区别
Aug 05 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
May 07 PHP
PHP实现在线阅读PDF文件的方法
Jun 17 PHP
Yii2 assets清除缓存的方法
May 16 PHP
PHP处理二进制数据的实现方法
Jun 13 PHP
Yii2实现UploadedFile上传文件示例
Feb 15 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
Apr 02 PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 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 self,$this,const,static,-&amp;gt;的使用
2009/10/22 PHP
mysql,mysqli,PDO的各自不同介绍
2012/09/19 PHP
php使用Imagick生成图片的方法
2015/07/31 PHP
php实现登陆模块功能示例
2016/10/20 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
异步加载script的代码
2011/01/12 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
在JavaScript中处理时间之getHours()方法的使用
2015/06/10 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
获取jqGrid中选择的行的数据
2016/11/30 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
python sys模块sys.path使用方法示例
2013/12/04 Python
python网络编程之读取网站根目录实例
2014/09/30 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
python 编码规范整理
2018/05/05 Python
python获取代理IP的实例分享
2018/05/07 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
python快排算法详解
2019/03/04 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
通过celery异步处理一个查询任务的完整代码
2019/11/19 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
JPA面试常见问题
2016/11/14 面试题
个人评语大全
2014/05/04 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL
java实现web实时消息推送的七种方案
2022/07/23 Java/Android