无法为 PHP 8.0 启动 Octane RoadRunner 服务器
Posted
技术标签:
【中文标题】无法为 PHP 8.0 启动 Octane RoadRunner 服务器【英文标题】:Unable to Launch Octane RoadRunner Server for PHP 8.0 【发布时间】:2021-12-07 13:29:00 【问题描述】:在 Ubuntu 18.04
服务器上跟随 official guide 时,Octane 与 roadrunner 一起安装。在服务器启动之前,每个步骤都按预期工作:
php artisan octane:start --server=roadrunner --port=8181
然后,收到错误并退出命令。附上完整的堆栈跟踪:
INFO Server running…
Local: http://127.0.0.1:8181
Press Ctrl+C to stop the server
INFO [INFO] RoadRunner server started; version: 2.6.3, buildtime: 2021-12-03T11:37:00+0000
PHP Warning: require(/path/vendor/bin/bootstrap.php): Failed to open stream: No such file or directory in /path/vendor/bin/roadrunner-worker on line 18
PHP Fatal error: Uncaught Error: Failed opening required '/path/vendor/bin/bootstrap.php' (include_path='.:/usr/share/php') in /path/vendor/bin/roadrunner-worker:18
Stack trace:
#0 main
thrown in /path/vendor/bin/roadrunner-worker on line 18
INFO error occurred: WorkerAllocate:
INFO goridge_frame_receive: EOF, plugin: http.Plugin
ERROR 2021-12-07T12:01:53.048Z ERROR container/poller.go:16 vertex got an error "id": "http.Plugin", "error": "WorkerAllocate:\n\tgoridge_frame_receive: EOF"
ERROR github.com/spiral/endure/pkg/container.(*Endure).poll.func1
ERROR github.com/spiral/endure@v1.0.10/pkg/container/poller.go:16
ERROR handle_serve_command: WorkerAllocate:
ERROR goridge_frame_receive: EOF
由于 roadrunner 是基于 go 的,我对如何通过错误导航没有太多见解。请问有没有人解决过这个问题,谢谢。
【问题讨论】:
【参考方案1】:您应该像这样修复所有警告:PHP Warning: require(/path/vendor/bin/bootstrap.php): Failed to open stream: No such file or directory in /path/vendor/bin/roadrunner-worker on line 18
这些警告出现在stdout
中,但stdout
被用作与RR 通信的进程fd。这意味着如果在 RR 初始化所有进程(又名 worker)之前将一些数据发送到 stdout
(如 PHP 警告),RR 将停止分配 worker 并以代码 1 退出。
【讨论】:
以上是关于无法为 PHP 8.0 启动 Octane RoadRunner 服务器的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Eclipse 中启动 IBM MobileFirst Foundation Studio 8.0
centos 5.7 之前的服务器无法升级到 8.0。服务器启动失败
GlassFish 服务器无法在 NetBeans IDE 8.0 中启动