首頁 > php教程 > php手册 > 主體

用php程序检测window下端口是否运行

WBOY
發布: 2016-06-06 19:49:01
原創
1244 人瀏覽過

本篇文章主要分享一下如何使用php程序检测window平台系统中的端口是否正在运行,比如我们下面检测mysql端口3306,或者检测openoffice端口8100是否正在运行。 方法一:《推荐》 $server = "127.0.0.1";//检测的服务地址,如果是本地及用127.0.0.1或者localhos

本篇文章主要分享一下如何使用php程序检测window平台系统中的端口是否正在运行,比如我们下面检测mysql端口3306,或者检测openoffice端口8100是否正在运行。

方法一:《推荐》
$server = "127.0.0.1";//检测的服务地址,如果是本地及用127.0.0.1或者localhost即可,如果其他window服务地址则用其ip地址即可。
$port = "8100";//我们要检测制定端口号
$timeout = "2";//这个地方是超时时间,即2秒钟,可以随意设定
if($server and $port and $timeout){
   $verbinding = @fsockopen("$server", $port, $errno, $errstr, $timeout);
}
if($verbinding) {
   echo "The port is online";
}else {
   echo "The port  is offline";
}
方法二:

function test_port($host,$port,$timeout=2){//检测公共函数($host:检测服务地址;$port:要检测的端口号;$timeout:超时时间,默认两秒钟)
  $fsock = @fsockopen($host, $port, $errno, $errstr, $timeout);
  if (!$fsock){
     return FALSE;
  }else{
     return TRUE;
  }
}

/* 我们调用上面的检测函数,检测本地的8100端口服务是否已经启动*/
echo $ok = test_port('127.0.0.1',8100,3);

以上是用来检测window平台端口的相关方法。
总结:针对以上方法如果是经常用在系统中并且需要不间断的执行检测的话,我推荐使用第一种方法,因为第一种方法不会出现阻塞的情况,基本上第一次检测时可能花费时间比较长一点,但是一旦达到设定的超时值会自动返回相关检查结果,如果是那种不间断的检测服务的话,除了第一次,以后的每一次检测操作都会很快的处理完成。

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!