关于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 相关文章推荐
基于mysql的论坛(3)
Oct 09 PHP
PHP如何编写易读的代码
Jul 10 PHP
php生成静态文件的多种方法分享
Jul 17 PHP
php empty()与isset()区别的详细介绍
Jun 17 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 PHP
深入浅析php json 格式控制
Dec 24 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
PHP使用自定义方法实现数组合并示例
Jul 07 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
thinkphp下MySQL数据库读写分离代码剖析
Apr 18 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 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获取一个变量的名字的方法
2014/09/05 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
Javascript拓展String方法小结
2013/07/08 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
Vue $mount实战之实现消息弹窗组件
2019/04/22 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
python 将字符串转换成字典dict
2013/03/24 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
全面了解django的缓存机制及使用方法
2019/07/22 Python
Python配置文件处理的方法教程
2019/08/29 Python
pytorch 彩色图像转灰度图像实例
2020/01/13 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
应聘医药代表职位求职信
2013/10/21 职场文书
英语教师求职信
2014/06/16 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
八年级英语教学计划
2015/01/23 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python