PHP检查端口是否可以被绑定的方法示例

本文实例讲述了PHP检查端口是否可以被绑定的方法。分享给大家供大家参考,具体如下:

<?php
/**
 * 检查端口是否可以被绑定
 * @author flynetcn
 */
function checkPortBindable($host, $port, &$errno=null, &$errstr=null)
{
  $socket = stream_socket_server("tcp://$host:$port", $errno, $errstr);
  if (!$socket) {
    return false;
  }
  fclose($socket);
  unset($socket);
  return true;
}

$ret = checkPortBindable('127.0.0.1', 8080, $errno, $errstr);
var_dump($ret, $errno, $errstr);

运行结果:

bool(true)
int(0)
string(0) ""

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php socket用法总结》、《php字符串(string)用法总结》、《PHP数学运算技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP网络编程技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • Php做的端口嗅探器--可以指定网站和端口

    <?   //Php做的端口嗅探器--可以指定网站和端口 //并返回嗅探结果     function http_request($server, $port) {     $data = "";     $query = "HEAD / HTTP/1.0";     $fp = fsockopen($server, $port);     if($fp) {     fputs($fp, $query."rnn");     while(

  • php使用socket编程示例

    2个php测试文件server.php 复制代码 代码如下: <?php//phpinfo();//确保在连接客户端时不会超时set_time_limit(0); $ip = '127.0.0.1';$port = 1935; /* +------------------------------- *    @socket通信整个过程 +------------------------------- *    @socket_create *    @socket_bind *    @sock

  • PHP URL地址获取函数代码(端口等) 推荐

    php 获得当前的脚本网址(只有路径) 复制代码 代码如下: function GetCurUrl() { if(!empty($_SERVER["REQUEST_URI"])) { $scrtName = $_SERVER["REQUEST_URI"]; $nowurl = $scrtName; } else { $scrtName = $_SERVER["PHP_SELF"]; if(empty($_SERVER["QUERY_ST

  • php实现的ping端口函数实例

    本文实例讲述了php实现的ping端口函数.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: <?php /*  * @author     xujiajay  * @date       2010-10-7  * @function   可以ping端口的php函数  *  */     error_reporting(E_ERROR);     header("content-Type: text/html; charset=utf-8");     set_

  • 总结PHP如何获取当前主机、域名、网址、路径、端口和参数等

    话不多说,我们直接看代码 //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br />"; //获取网页地址 echo $_SERVER['PHP_SELF']."<br />"; //获取网址参数 echo $_SERVER["QUERY_STRING"]."<br />"; //获取用户代理 echo $_SERVER['HTTP_REFERER'].&q

  • PHP如何获取当前主机、域名、网址、路径、端口等参数

    实验环境: 测试域名daxiangtravel.com,apache根目录/mnt/,测试目录/mnt/qa/test,测试文件名为index.php. 获取代码: 获取当前目录: getcwd(); // /mnt/qa/test dirname(__FILE__); // /mnt/qa/test 获取域名或主机地址 $_SERVER['HTTP_HOST']; //daxiangtravel.com 获取网页地址 $_SERVER['PHP_SELF']; // /qa/test/inde

  • php实现TCP端口检测的方法

    本文实例讲述了php实现TCP端口检测的方法.分享给大家供大家参考.具体如下: 该程序可以确认当前端口是否可用: <?php class Health { public static $status; public function __construct() { } public function check($ip, $port){ $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_set_nonblock($sock)

  • phpStudy配置多站点多域名和多端口的方法

    本文介绍了phpStudy配置多站点多域名和多端口的方法,分享给大家,也给自己留个笔记 WWW目录下有三个项目目录: a    b    c Apache 默认httpd端口为 80,网站目录为D:\WWW\a 1.配置多域名多站点 第一步:点击"其他选项菜单"=>站点域名管理=>设置如下三个站点域名: (1)网站域名:a.com  网站目录:D:\WWW\a  网站端口:80 (2)网站域名:b.com  网站目录:D:\WWW\b  网站端口:80 (3)网站域名:c.

  • php使用websocket示例详解

    下面我画了一个图演示 client 和 server 之间建立 websocket 连接时握手部分,这个部分在 node 中可以十分轻松的完成,因为 node 提供的 net 模块已经对 socket 套接字做了封装处理,开发者使用的时候只需要考虑数据的交互而不用处理连接的建立.而 php 没有,从 socket 的连接.建立.绑定.监听等,这些都需要我们自己去操作,所以有必要拿出来再说一说. ① 和 ② 实际上就是一个 HTTP 的请求和响应,只不过我们在处理的过程中我们拿到的是没有经过解析的

  • PHP检查端口是否可以被绑定的方法示例

    本文实例讲述了PHP检查端口是否可以被绑定的方法.分享给大家供大家参考,具体如下: <?php /** * 检查端口是否可以被绑定 * @author flynetcn */ function checkPortBindable($host, $port, &$errno=null, &$errstr=null) { $socket = stream_socket_server("tcp://$host:$port", $errno, $errstr); if (

  • vue使用Proxy实现双向绑定的方法示例

    前言:vue3.0要用Proxy来实现双向绑定,因此先来尝试一下实现方法. 1 Object.defineProperty 实现 原来vue2的实现使用Object.defineProperty,监听set,但对于数组直接下标给数组设置值监听不了. function observe(data) { if (!data || typeof data !== 'object') { return; } // 取出所有属性遍历 Object.keys(data).forEach(function(ke

  • 微信小程序获取用户绑定手机号方法示例

    用户调用wx.login()方法,获取登录用户凭证code wx.login({ success: function(res) { console.log('loginCode', res.code) } }); code传给后台,凭证code获取session_key和openid https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=aut

  • Cisco Catalyst 2950 配置-实现端口与IP的绑定

    在Cisco catalyst 2950交换机上,通过配置extended ACL来实现端口与IP的绑定.配置如下: 2950#show runCurrent configuration : 5396 bytes!version 12.1no service padservice timestamps debug uptimeservicetimestamps log uptimeno service password-encryption!hostname 2950!enable secret

  • Docker 网络之端口绑定的方法

    外部访问容器 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射. -P 标记时 Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口. -p 标记时 则可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器.支持的格式有 ip:hostPort:containerPort ip::containerPort hostPort:containerPort 映射所有接口地址 使用 hostPort:conta

  • Docker端口映射实现网络访问的方法

    Docker运行容器之后却发现没IP,没端口,那要如何访问容器呢? 下面我来介绍下docker通过端口映射来实现网络访问 一.从外部访问容器应用 在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的. 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数指定端口映射. 先来说说p和P吧 -p 可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器 -P 它会随机映射一个端口至容器内部开放的网络端口(范围不详,似乎都上万) 先申明

  • 浅谈angular.js中实现双向绑定的方法$watch $digest $apply

    Angular.js 中的特性,双向绑定. 多么神奇的功能,让视图的改变直接反应到数据中,数据的改变又实时的通知到视图,如何做到的? 这要归功于 scope 下面3个重要的方法: $watch $digest $apply 他们的区别是什么,我们来介绍下: $watch 这是一个监听 scope 上数据的监听器 方法说明: $scope.$watch('参数',function(newValue,oldValue){ //逻辑处理 }) 上面我们就是创建了一个监听器. '参数' 就是$scope

  • 配置iptables,把80端口转到8080的简单方法

    在Linux的下面部署了tomcat,为了安全我们使用非root用户进行启动,但是在域名绑定时无法直接访问80端口号.众所周知,在unix下,非root用户不能监听1024以上的端口号,这个tomcat服务器就没办法绑定在80端口下.所以这里需要使用linux的端口转发机制,把到80端口的服务请求都转到8080端口上. 在root账户下面运行一下命令: iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 80

  • 查看远程 Linux 系统中某个端口是否开启的三种方法

    这是一个很重要的话题,不仅对 Linux 管理员而言,对于我们大家而言也非常有帮助.我的意思是说对于工作在 IT 基础设施行业的用户来说,了解这个话题也是非常有用的.他们需要在执行下一步操作前,检查 Linux 服务器上某个端口是否开启. 假如这个端口没有被开启,则他们会直接找 Linux 管理员去开启它.如果这个端口已经开启了,则我们需要和应用团队来商量下一步要做的事. 在本篇文章中,我们将向你展示如何检查某个端口是否开启的 3 种方法. 这个目标可以使用下面的 Linux 命令来达成: nc

  • js实现视图和数据双向绑定的方法分析

    本文实例讲述了js实现视图和数据双向绑定的方法.分享给大家供大家参考,具体如下: 前言 视图和数据绑定,使视图和逻辑层分离,使视图层变为数据驱动是前端的一大进步.由此诞生了mvvm类的前端框架,大大提升了开发的效率. 那么在使用旧有的项目中,如何使用更加先进的设计模式来替换掉大量的面向过程编程. 各大框架对于数据绑定的实现都有各自的方式,这里不做深入只是简单介绍一下. Vue使用了es5  Object.defineProperty的特性来实现对数据读取和设置的监听,是一种元编程的方式.个人感觉

随机推荐