You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Revolt\EventLoop?运行脚本遇空白响应求解决

解决Revolt\EventLoop运行无输出问题

可能的原因及解决方案

1. 输出缓冲未刷新

当回调同步执行完成后,事件循环会立即终止,PHP的输出缓冲可能还没来得及将内容输出到终端。可以手动刷新缓冲:

use Revolt\EventLoop;

EventLoop::run(static function () {
    echo "Callback function executed!" . PHP_EOL;
    flush(); // 强制刷新输出缓冲
});

2. 事件循环过早退出

如果回调是纯同步代码,事件循环在回调执行完毕后会立刻停止,部分环境下输出可能无法正常显示。可以添加一个极短的延迟,让事件循环维持运行一小段时间再退出:

use Revolt\EventLoop;

EventLoop::run(static function () {
    echo "Callback function executed!" . PHP_EOL;
    
    // 0.1秒后停止事件循环
    EventLoop::delay(0.1, static function () {
        EventLoop::stop();
    });
});

3. 检查Revolt安装与环境依赖

确保你已经通过Composer正确安装了revolt/event-loop:

composer require revolt/event-loop

Revolt支持多种驱动,优先推荐安装ext-ev或ext-event扩展以获得更好的性能;若未安装扩展,会自动使用原生的stream_select驱动,这也能正常运行,但需确保PHP版本满足要求(PHP 8.0+)。

内容的提问来源于stack exchange,提问作者Andika Saputra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 08:13:21