PHP NATS客户端在一段空闲时间后断开连接

PHP NATS客户端在一段空闲时间后断开连接,php,runatserver,php-socket,nats.io,Php,Runatserver,Php Socket,Nats.io,我一直在使用这个库开发一个NATS客户机,它可以订阅特定的频道。但在连接、接收到少量消息并有大约30秒的空闲时间后,它会自动断开连接而不受任何干扰。但是,我的Node.js客户端在使用相同的NATS服务器时运行良好 以下是我订阅的方式 $c->subscribe( 'foo', function ($message) { echo $message->getBody(); } ); $c->wait(); 有什么建议/帮助吗 谢谢 这仅

我一直在使用这个库开发一个NATS客户机,它可以订阅特定的频道。但在连接、接收到少量消息并有大约30秒的空闲时间后,它会自动断开连接而不受任何干扰。但是,我的Node.js客户端在使用相同的NATS服务器时运行良好

以下是我订阅的方式

$c->subscribe(
    'foo',
    function ($message) {
        echo $message->getBody();
    }
);
$c->wait();
有什么建议/帮助吗


谢谢

这仅仅是默认的PHP超时吗? 也许是这样的:

ini_set('max_execution_time', 180); // gives about 3 minutes for example

默认情况下,PHP脚本不能永远存在,因为PHP应该被认为是无状态的。这是设计的,默认寿命为30秒(主持人通常会将其延长到180秒,但这实际上并不重要)。您可以通过将
max\u execution\u time
设置为任何值(使用
0
表示“永远”)来延长该时间,但不建议这样做,除非您知道需要这样做。若并没有,那个么常用的方法是让脚本调用自己(即通过GET请求)经常传递一些参数,让调用的脚本在调用方完成的地方继续

$options = new ConnectionOptions();
$options->setHost('127.0.0.1')->setPort(4222);

您需要将连接参数设置为-1

您是否能够解决这个问题?有同样的问题!
$client = new Connection($options);
$client->connect(-1);