色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

淺析虛擬主機(jī)服務(wù)器php fsockopen函數(shù)被禁用的解決辦法

一、如何禁用fsockopen()
下面是兩種常用的禁用fsockopen的方法。
1、修改php.ini,將 disable_functions = 后加入 fsockopen
2、修改php.ini,將 allow_url_fopen = On 改為 allow_url_fopen = Off

二、如何解決fsockopen函數(shù)被禁用
1、如果服務(wù)器沒(méi)有同時(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被禁用,又沒(méi)有stream_socket_client()怎么辦呢?自己寫(xiě)一個(gè)函數(shù)實(shí)現(xiàn)fsockopen的功能,參考代碼:
復(fù)制代碼 代碼如下:
function b_fsockopen($host, $port, &$errno, &$errstr, $timeout) {
 $ip = gethostbyname($host);
 $s = socket_create(AF_INET, SOCK_STREAM, 0);
 if (socket_set_nonblock($s)) {
  $r = @socket_connect($s, $ip, $port);
  if ($r || socket_last_error() == EINPROGRESS) {
   $errno = EINPROGRESS;
   return $s;
  }
 }
 $errno = socket_last_error($s);
 $errstr = socket_strerror($errno);
 socket_close($s);
 return false;
}

具體操作:1.首先找到使用fsockopen函數(shù)的代碼段,將上面代碼加至其上端,搜索該代碼段中的字符串 fsockopen( 替換為 b_fsockopen( 。
2.因?yàn)閒sockopen函數(shù)返回文件指針?biāo)钥梢员晃募瘮?shù)操作,但是這個(gè)b_fsockopen函數(shù)沒(méi)能返回文件指針,需要繼續(xù)修改代碼段:用socket_read( 替換掉 fread( ,用socket_write( 替換掉fwrite( ,用socket_close( 替換掉fclose( 。

php技術(shù)淺析虛擬主機(jī)服務(wù)器php fsockopen函數(shù)被禁用的解決辦法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 昌平区| 岗巴县| 濉溪县| 屏东县| 虎林市| 依安县| 漠河县| 大同县| 临西县| 浑源县| 玉环县| 甘孜县| 海阳市| 卫辉市| 循化| 曲沃县| 八宿县| 延庆县| 电白县| 泾阳县| 平遥县| 连江县| 册亨县| 岳普湖县| 曲阜市| 汉阴县| 涿州市| 离岛区| 沙湾县| 东乡县| 体育| 广平县| 沅江市| 玉龙| 云阳县| 静海县| 滨海县| 双鸭山市| 武鸣县| 电白县| 黔江区|