关于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实现的MySQL通用查询程序
Mar 11 PHP
php快速url重写 更新版[需php 5.30以上]
Apr 20 PHP
用C/C++扩展你的PHP 为你的php增加功能
Sep 06 PHP
Server.HTMLEncode让代码在页面里显示为源代码
Dec 08 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
Yii结合CKEditor实现图片上传功能
Jun 13 PHP
Zend Framework入门教程之Zend_View组件用法示例
Dec 09 PHP
PHP结合Vue实现滚动底部加载效果
Dec 17 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
PHP unset函数原理及使用方法解析
Aug 14 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 header()函数使用说明
2008/07/10 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
javascript类型转换使用方法
2014/02/08 Javascript
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
js propertychange和oninput事件
2014/09/28 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
jQuery实现的监听导航滚动置顶状态功能示例
2018/07/23 jQuery
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
python实现的防DDoS脚本
2011/02/08 Python
Python中的CURL PycURL使用例子
2014/06/01 Python
Python的pycurl包用法简介
2015/11/13 Python
python交互式图形编程实例(二)
2017/11/17 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
Python实现微信机器人的方法
2019/09/06 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
python字典按照value排序方法
2020/12/28 Python
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
计算机开发个人求职信范文
2013/09/26 职场文书
人民教师求职自荐信
2014/03/12 职场文书
一年级评语大全
2014/04/23 职场文书
实验室的标语
2014/06/20 职场文书
骨干教师个人总结
2015/02/11 职场文书
民事辩护词范文
2015/05/21 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
QT与javascript交互数据的实现
2021/05/26 Javascript