本文目錄一覽:
php 如何監聽服務器端口
?php
//設置運行時間:永不超時
set_time_limit (0);
//開啟緩衝
ob_implicit_flush ();
//IP地址
$ip = “127.0.0.1”;
//監聽端口
$port = 80;
//創建socket
$socket = socket_create (AF_INET, SOCK_STREAM, 0);
if (!$socket){
die(“創建socket失敗!”).socket_strerror(socket_last_error());
}
//綁定socket
$bind = socket_bind ($socket, $ip, $port);
if (!$bind){
die(“綁定.socket失敗!”).socket_strerror ($bind);
}
//監聽socket
$listen = socket_listen ($socket);
if (!$listen){
die(“監聽失敗!”).socket_strerror ($listen);
}
echo “{$port}端口監聽成功!”;
?
怎麼查看php的端口號
php有端口號?php web服務器才有端口號。
運行cmd shell-輸入netstat -ano
顯示進程pid和佔用的端口號,
在你的任務管理器里找到apache,iis,nginx的pid,
看看它佔了哪個端口。
如何用PHP檢測端口
1.網上的不能用,確定你的php含有sockets模塊,沒有請開啟
2.代碼
?php
$ip=’zhidao.baidu.com’;
$port=80;
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_nonblock($sock);
socket_connect($sock,$ip, $port);
socket_set_block($sock);
switch(socket_select($r = array($sock), $w = array($sock), $f = array($sock), 5))
{
case 2:
echo “$ip:$port 關閉\n”;
break;
case 1:
echo “$ip:$port 打開\n”;
break;
case 0:
echo “$ip:$port 超時\n”;
break;
}
?
3.測試結果
[root@tianjin test]php checkport.php
zhidao.baidu.com:80 打開
[root@tianjin test]php checkport.php
zhidao.baidu.com:22 超時
4補充
kukusishen 2009-12-11 20:08:45
您給我解答的問題的,那段代碼的第4行顯示出錯,我放在我的主機上不好使,
kukusishen 2009-12-11 20:08:54
麻煩您給我解決下。
第4行應該是socket_create這個函數你沒有,你可以用
?php
phpinfo();
?
可以看到你應該根本沒有socket模塊
你找到你的php.ini如果你有這個權限的話(如果是虛擬主機,應該是沒有的)windows的話應該有php_sockets.dll,把前面的分號去掉,如果還有問題,請貼出你的環境,和php -m中的模塊,
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/191986.html