日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > 空間不支持fsockopen函數(shù)解決辦法

空間不支持fsockopen函數(shù)解決辦法

來源:程序員人生   發(fā)布時(shí)間:2014-03-20 09:41:09 閱讀次數(shù):5894次

為了服務(wù)器安全考慮很多主機(jī)商禁用了php的fsockopen函數(shù),昨天進(jìn)博客,使用cos-html-cache生成靜態(tài)文件,尼瑪提示:Warning: fsockopen() has been disabled for security reasons in D:...cos-html-cachecos-html-cache.php on line 35

換了其他版本的cos-html-cache,還是不行。后來找到下面的方法。 = =、(結(jié)果不行,因?yàn)楹瘮?shù)都被禁用了。)大家試下,很少有我這樣的情況的,用其他替代函數(shù)。

一、如何禁用fsockopen()下面是兩種常用的禁用fsockopen的方法。

1、修改php.ini,將disable_functions=后加入fsockopen   

2、修改php.ini,將allow_url_fopen = On 改為 allow_url_fopen = Off  

二、如何解決fsockopen函數(shù)被禁用

1、如果服務(wù)器沒有同時(shí)禁用pfsockopen,那么直接將fsockopen函數(shù)替換為pfsockopen,具體操作:搜索程序中的字符串fsockopen 替換為pfsockopen示例如下:

修改前:$fp = fsockopen($host, 80, $errno, $errstr, 30);

修改后:$fp = pfsockopen($host, 80, $errno, $errstr, 30);

2、如果服務(wù)器同時(shí)禁用了pfsockopen,那么用其他函數(shù)代替,如stream_socket_client()。注意:stream_socket_client()和fsockopen()的參數(shù)不同。

具體操作:搜索程序中的字符串  fsockopen(   替換為  stream_socket_client(   ,然后,將原fsockopen函數(shù)中的端口參數(shù)“80”刪掉,并加到$host。示例如下

修改前:$fp = fsockopen($host, 80, $errno, $errstr, 30);

修改后:$fp = stream_socket_client($host."80", $errno, $errstr, 30);

3、如果PHP版本低于5.0,fsockopen被禁用,又沒有stream_socket_client()怎么辦呢?自己寫一個(gè)函數(shù)實(shí)現(xiàn)fsockopen的功能,參考代碼:

  1. function b_fsockopen($host$port, &$errno, &$errstr$timeout) { 
  2.  $ip = gethostbyname($host); 
  3.  $s = socket_create(AF_INET, SOCK_STREAM, 0); 
  4.  if (socket_set_nonblock($s)) { 
  5.   $r = @socket_connect($s$ip$port); 
  6.   if ($r || socket_last_error() == EINPROGRESS) { 
  7.    $errno = EINPROGRESS; 
  8.    return $s
  9.   } 
  10.  } 
  11.  $errno = socket_last_error($s); 
  12.  $errstr = socket_strerror($errno); 
  13.  socket_close($s); 
  14.  return false; 

具體操作:

1.首先找到使用fsockopen函數(shù)的代碼段,將上面代碼加至其上端,搜索該代碼段中的字符串  fsockopen 替換為 b_fsockopen。

2.因?yàn)閒sockopen函數(shù)返回文件指針?biāo)钥梢员晃募瘮?shù)操作,但是這個(gè)b_fsockopen函數(shù)沒能返回文件指針,需要繼續(xù)修改代碼段:用socket_read替換掉fread,用socket_write替換掉fwrite,用socket_close替換掉fclose。

解決方案二:fsockopen大多數(shù)應(yīng)用是的獲取遠(yuǎn)程頁面數(shù)據(jù),對(duì)于獲取遠(yuǎn)程頁面這種應(yīng)用,PHP還有其他函數(shù)可以完美替代,方法1:

  1. <?php 
  2. $str = file("http://www.phpfensi.com"); 
  3. $count = count($str); 
  4. for ($i=0;$i<$count;$i++){ 
  5.      $file .= $str[$i]; 
  6.      } 
  7. echo $file
  8. ?> 

方法2:

  1. <?php 
  2. $str = file_get_contents("http://www.phpfensi.com"); 
  3. echo $str
  4. ?> 
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 天堂中文在线视频 | 国产精品免费一区二区三区都可以 | 国产一区二区影院 | 色网站免费 | 91夜夜蜜桃臀一区二区三区 | 秋霞在线观看视频 | 亚洲精品黄色 | 一区精品视频 | 成人av福利 | 毛片无码国产 | 黄色一级大片 | 久久一区二区视频 | 久久精品小视频 | 色天天综合网 | 97人人草| 亚洲 欧美 日韩 在线 | 亚洲狼人| 欧美视频一二三区 | 这里只有精品在线观看 | 亚洲乱码国产乱码精品精98午夜 | 电影天堂网 | 亚洲成人在线免费 | 国产精品igao视频网网址不卡日韩 | 亚洲青青| 欧美不卡一区二区三区 | 国产专区在线 | 一区二区三区免费 | 亚洲国产欧美在线 | 99免费精品 | 美女视频黄的 | 亚洲成人精品在线 | 美女又爽又黄视频毛茸茸 | 色综合网在线 | 国产精品久久久久久久久久久免费看 | www国产亚洲精品久久网站 | 日本免费视频 | 国产日韩精品视频 | 欧美国产一区二区 | 精品一区二区三区免费毛片爱 | 成人精品国产一区二区4080 | 亚洲女人天堂成人av在线 |