我正在尝试从 phplist 安装连接到 gmail pop 服务器,但它失败了,但我不确定我的虚拟主机是否打开了端口 995。他们说他们已经打开了它,但我对此表示怀疑。有没有办法可以从 php 脚本中检查它?他们在 Windows 服务器上运行 php 5.2.0,但我不确定那是什么操作系统。phpinfo() 说“Windows NT DEDI514 5.2 build 3790”
问问题
517 次
3 回答
2
您可以将代码放入 php 脚本中以打开与特定主机名(或 IP 地址)和端口的连接。如果您知道预期的响应,您应该能够判断您是否正在建立连接。如果您收到“连接被拒绝”之类的信息,那么要么您被阻止,要么目标主机不接受该端口上的连接。
此示例使用 IP 地址 192.0.2.0 和端口 995。将它们替换为您想要测试的任何内容。
<?php
echo "\nOpening connection\n\n";
$fp = fsockopen("192.0.2.0", 995, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr\n";
} else {
echo fread($fp, 1024);
fclose($fp);
}
?>
您还可以使用以下方式将数据发送到服务器
fwrite($fp, "blah blah blah\r\n");
这里有更多关于fsockopen的信息。
于 2009-11-18T20:07:21.293 回答
0
我认为您需要 ping 或跟踪路由到将在该端口上响应的机器。
这篇文章应该比你想知道的要多得多,但是底部有一个示例脚本,你可以修改它来测试。
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=8&txtCodeId=1786
这里还有一些其他脚本: http ://www.theworldsend.net/
我不能亲自担保这些,但它们看起来像你需要的。
当然,如果您可以 ssh 或 telnet 进入您的服务器,您可以使用 ping 和 traceroute 命令更轻松地完成这一切。
于 2009-11-18T19:56:00.817 回答