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

Heroku环境下如何启动PHP服务器文件?

在Heroku上运行Ratchet WebSocket服务的解决方案
  • 创建Procfile定义启动进程
    在项目根目录新建无后缀的Procfile文件,写入以下内容:

    worker: php bin/server.php
    

    Heroku通过该文件识别需启动的后台worker进程,Ratchet服务属于非Web类worker进程,不能用默认web进程配置。

  • 启动worker进程
    代码部署到Heroku后,执行命令开启worker实例:

    heroku ps:scale worker=1
    

    默认情况下Heroku仅启动web进程,必须手动指定启动worker进程才能运行WebSocket服务。

  • 修正端口配置
    Heroku使用动态分配的端口,不能在代码中硬编码端口。在bin/server.php中读取环境变量替换硬编码端口:

    $port = getenv('PORT') ?: 8080;
    $server = IoServer::factory(
        new HttpServer(new WsServer(new YourWebSocketHandler())),
        $port
    );
    
  • 验证运行状态
    检查进程是否正常运行:

    heroku ps
    

    若进程异常,通过日志排查问题:

    heroku logs --tail
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:57:36