
時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
在使用php的curl獲取遠(yuǎn)程文件,代碼如下:
$ghurl = isset($_GET['id']) ? $_GET['id']:'http://www.shxhgzf.com/'; // php 獲取 function getContents($url){ $header = array("Referer: http://www.shxhgzf.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);? //是否抓取跳轉(zhuǎn)后的頁(yè)面 ob_start(); curl_exec($ch); $contents = ob_get_contents(); ob_end_clean(); curl_close($ch); return $contents; } $contents = getContents($ghurl); echo $contents; ?> ? |
一般來(lái)說(shuō)在win2003+iis下如,把php_curl.dll配置好就沒(méi)問(wèn)題了。
但筆者在 linux+apahe2.0+php5.2.12+directadmin,(一般國(guó)外主機(jī)商都是用這配置)如果獲取的網(wǎng)址有301/302跳轉(zhuǎn),會(huì)報(bào)錯(cuò):
| curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in *** |
關(guān)于這個(gè)問(wèn)題,google,百度一下,都是在大篇長(zhǎng)長(zhǎng)的english,不精通linux的還真頭痛。
解決辦法其實(shí)很簡(jiǎn)單:登陸你的 directadmin
找到 ->>"PHP SafeMode Configuration" -->>看下圖
?
把默認(rèn)的 Default Safe 和 Default Open BaseDir 都 OFF,問(wèn)題就解決了。
關(guān)鍵詞標(biāo)簽:php curl,301,302轉(zhuǎn)向
相關(guān)閱讀
熱門文章
plsql developer怎么連接數(shù)據(jù)庫(kù)-plsql developer連接數(shù)據(jù)庫(kù)方法
2021年最好用的10款php開發(fā)工具推薦
php利用淘寶IP庫(kù)獲取用戶ip地理位置
在 PHP 中使用命令行工具
人氣排行 詳解ucenter原理及第三方應(yīng)用程序整合思路、方法 plsql developer怎么連接數(shù)據(jù)庫(kù)-plsql developer連接數(shù)據(jù)庫(kù)方法 PHP中防止SQL注入攻擊 PHP會(huì)話Session的具體使用方法解析 PHP運(yùn)行出現(xiàn)Notice : Use of undefined constant 的解決辦法 PHP如何清空mySQL數(shù)據(jù)庫(kù) CakePHP程序員必須知道的21條技巧 PHP采集圖片實(shí)例(PHP采集)