PHP卡在“等待本地主机”上

时间:2018-11-16 22:57:54

标签: php apache sockets irc

在进行更详细的介绍之前,我只是想澄清一下我是一个非常新鲜的新PHP程序员。老实说,我什至不确定是否将所有设置正确。 请忍受我。

我在编写基本的IRC Twitch.tv Bot时遇到了麻烦。每当我尝试打开/刷新页面时,它都会卡在“等待localhost”上,而我绝对不知道为什么。

我遇到了,每当删除循环时,它似乎都会加载,并且显示“ 0 0类型(流)的resource(2)”, 但是从我在线收集的数据来看,循环是必不可少的。

我正在运行Apache 2.4和PHP 7.2.12(cli)。目前仅在localhost上进行测试。

请帮助,我很困惑。

<?php

set_time_limit(0);

// info hidden for privacy reasons
$channel = "#channelname";
$server = "irc.chat.twitch.tv";
$port = 6667;
$nick = "botsname";
$pass = "oauth:xxxxxxxxx";

$socket = fsockopen($server, $port, $errno, $errstr, 15);
echo $errno." ".$errstr;

fputs($socket,"PASS ".$pass."\r\n");
fputs($socket,"NICK ".$nick."\r\n");

echo var_dump($socket);

fputs($socket,"JOIN ".$channel."\r\n");

while(1) {

    while($data = fgets($socket, 256)) {

        echo nl2br($data);
        flush();

        $ex = explode(' ', $data);
        if($ex[0] == "PING") 
        {
            fputs($socket, "PONG ".$ex[1]."\r\n");
        }
    }

}

?>

0 个答案:

没有答案