检查是否有任何东西正在侦听PHP中的端口
发布时间:2020-12-13 21:56:17 所属栏目:PHP教程 来源:网络整理
导读:我想使用 PHP检查是否有任何内容正在侦听localhost:81,以确保可以运行PHP内置服务器. 即我想检查以下是否能正常运行php -S localhost:81. 现在如果某些东西已经在端口81上监听(例如Apache),这当然会引起问题. 我读了以下内容:How can I check if ports 46
我想使用
PHP检查是否有任何内容正在侦听localhost:81,以确保可以运行PHP内置服务器.
即我想检查以下是否能正常运行php -S localhost:81. 现在如果某些东西已经在端口81上监听(例如Apache),这当然会引起问题. 我读了以下内容:How can I check if ports 465 and 587 are open with PHP?,解决方案似乎没有用. 即: $fp = fsockopen('localhost','81',$errno,$errstr,5); var_dump($fp); // returns false if (!$fp) { // port is closed or blocked echo "CLOSED!"; return false; } else { // port is open and available echo "OPEN!"; fclose($fp); return true; } 不幸的是,上面不断回归“关闭!”即使它没有. 我还收到以下错误消息: PHP Warning: fsockopen(): unable to connect to localhost:81 (Connection refused) 我该如何解决我的问题? 还有其他选择吗? 解决方法
您应该检查fsockopen()是否返回了资源:
$connection = @fsockopen('localhost','81'); if (is_resource($connection)) { echo 'Open!'; fclose($connection); return true; } else { echo 'Closed / not responding. :('; return false; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |