1

我正在尝试从 phplist 安装连接到 gmail pop 服务器,但它失败了,但我不确定我的虚拟主机是否打开了端口 995。他们说他们已经打开了它,但我对此表示怀疑。有没有办法可以从 php 脚本中检查它?他们在 Windows 服务器上运行 php 5.2.0,但我不确定那是什么操作系统。phpinfo() 说“Windows NT DEDI514 5.2 build 3790”

4

3 回答 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 回答
-1

也许安全模式处于活动状态?这可以防止调用其他服务器上的服务。

编辑:所有文件系统和流功能都受安全模式设置的影响!

open_basedir设置影响 fopen()!

于 2009-11-18T20:16:48.753 回答