fsockopen(): 无法连接到远程服务器 ip Codeigniter

时间:2021-02-14 14:39:41

标签: codeigniter-3 remote-server fsockopen

我想问一下我在 codeigneter 中的 fsockopen() 缺少什么或有什么问题。我ve been searching for fives days now and I couldn不知道出了什么问题,因为其他人遇到了与我相同的错误,我们处于不同的情况。虽然它们用于发送电子邮件,但我是在线或离线时获取服务器状态。

我一直在创建一个在线游戏 Web 模板程序,它可以从游戏远程服务器获取/显示数据到虚拟主机。我能够将 MSSQL 连接到远程服务器,但 fsockeopne() 不起作用。

Helper.php 代码

function getServerConnection($ip, $port) {
    $sockres = @fsockopen($ip, $port, $errno, $errstr, 0.01);
    if (!$sockres) {
        return '<b class="text-danger">OFFLINE</b>';
    } else {
        @fclose($sockres);
        return '<b class="text-success">ONLINE</b>';
    }
} 

查看代码

<p class="m-b-10">
<span class="left">LOGIN: <?php echo getServerConnection($server_settings->server_ip, $server_settings->login_port) ?></span> 
<span class="float-right">WORLD: <?php echo getServerConnection($server_settings->server_ip, $server_settings->server_port) ?></span></p>

Var_dum $sockres 和错误

<块引用>

遇到 PHP 错误严重性:警告消息:fsockopen(): 无法连接到 192.168.1.1:80(连接超时)-只是 虚拟 IP。它有一个真正的远程 IP 文件名: helpers/myhelper_helper.php

bool(false) int(110) string(20) “连接超时”

allow_url_fopen = on 和远程服务器防火墙已经配置

在此先感谢您:) 抱歉我的英语不是很好。

1 个答案:

答案 0 :(得分:0)

我能够找出这个错误,因为我使用了错误的端口。并确保您正确配置到您的 Windows 防火墙中。并尝试使用这个来检查端口https://ping.eu/port-chk/