关于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 相关文章推荐
Discuz 模板引擎的封装类代码
Jul 18 PHP
PHP中$_SERVER的详细参数与说明
Jul 29 PHP
php中利用post传递字符串重定向的实现代码
Apr 21 PHP
apache+codeigniter 通过.htcaccess做动态二级域名解析
Jul 01 PHP
PHP调用wsdl文件类型的接口代码分享
Nov 19 PHP
PHP使用递归方式列出当前目录下所有文件的方法
Jun 02 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
PHP微信支付实例解析
Jul 22 PHP
详解php中生成标准uuid(guid)的方法
Apr 28 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 PHP
Swoole扩展的6种模式深入详解
Mar 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
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
为你总结一些php信息函数
2015/10/21 PHP
一个简单的php路由类
2016/05/29 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
js中单引号与双引号冲突问题解决方法
2013/10/04 Javascript
JavaScript将XML转成JSON的方法
2015/03/12 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
js实现登录与注册界面
2017/11/01 Javascript
通过fastclick源码分析彻底解决tap“点透”
2017/12/24 Javascript
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
Python中类的继承代码实例
2014/10/28 Python
初步剖析C语言编程中的结构体
2016/01/16 Python
Python简单读取json文件功能示例
2017/11/30 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
Python 去除字符串中指定字符串
2020/03/05 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
eBay加拿大站:eBay.ca
2019/06/20 全球购物
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
应届生简历自我评价
2015/03/11 职场文书
行政介绍信范文
2015/05/04 职场文书
交通事故案件代理词
2015/05/23 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python
CSS实现渐变色边框(Gradient borders)的5种方法
2022/03/25 HTML / CSS