Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

fresser's avatar

Laravel Octane --watch not reloading routes.

Hi.

I am struggling to get the hot-reload to work with Octane on OpenSwoole server. I am running the server using php octane:start --watch. If I change code in my controllers, the reload is working fine, and I instantly see my changes. However for example the routes folder does not reflect my changes. I can observe my workers restart fine (it says so in console) when changing my routes, but the routes are not working until I restart my server.

Hot reload not working is making it hard to convince my co-workers to adopt Octane, as they expect hot-reloading to be functional, and don't wanna spend time debugging why the changes are not showing and restarting the server.

I have already tried php artisan optimize:clear to rule out any route caching.

Any help is appreciated :)

0 likes
1 reply
fresser's avatar

By further investigation, it is observed that:

  • Happens both with Swoole and OpenSwoole
  • It is basically every piece of bootstrapping that is not hot reloaded, indicating Workers are not reloaded properly.
  • By inserting logs in the Octane code, we can observe that Workers are reloaded, but they seem to load the same file contents after the reload.

Edit: Think the issues is related to opcache not being cleared, I cannot link to github, but see issue #546 on the octane project, where i believe i found the problem.

Please or to participate in this conversation.