Unable to Launch Octane RoadRunner Server for PHP 8.0

2.9k Views Asked by At

Octane is installed with roadrunner while following the official guide, on the Ubuntu 18.04 server. Each step works as expected until the server is started:

php artisan octane:start --server=roadrunner --port=8181

Then, an error is received and the command exits. The complete stacktrace is attached:

   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/[email protected]/pkg/container/poller.go:16

   ERROR  handle_serve_command: WorkerAllocate:

   ERROR    goridge_frame_receive: EOF

Since roadrunner is based on go, I don't have much insights on how to navigate through the error. Please let me know if anyone has solved this issue before, thanks.

1

There are 1 best solutions below

0
On

You should fix all warnings like this one: 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

These warnings appear in the stdout, but stdout is used as a process fd to communicate with the RR. That means if some data is sent to the stdout (like PHP warning) before RR initializes all processes (aka worker), RR will stop allocating the workers and exit with code 1.