Skip to content

Support OpenSwoole web server #1041

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
zliebersbach opened this issue Mar 27, 2025 · 0 comments
Open

Support OpenSwoole web server #1041

zliebersbach opened this issue Mar 27, 2025 · 0 comments
Labels
enhancement New feature or request PM PM to review against project priorities.

Comments

@zliebersbach
Copy link

zliebersbach commented Mar 27, 2025

Summary

Currently, only Apache and PHP-FPM are supported as web servers in the New Relic agent. This means users cannot use performance-enhancing features such as Laravel Octane. OpenSwoole is a common server for Laravel Octane. Other alternatives supported include FrankenPHP and RoadRunner.

https://docs.newrelic.com/docs/apm/agents/php-agent/getting-started/php-agent-compatibility-requirements/#webserver
https://laravel.com/docs/12.x/octane

Desired Behavior

OpenSwoole should be added as a supported server in the New Relic PHP agent.

Additional context

I work on high-performance Laravel applications that depend on features in OpenSwoole and I cannot instrument them with New Relic.

Current error when launching Laravel Octane on OpenSwoole with New Relic agent installed:

[2025-03-27 02:22:50] production.ERROR: Undefined constant "Laravel\Octane\Commands\Concerns\SIGINT" {"exception":"[object] (Error(code: 0): Undefined constant \"Laravel\\Octane\\Commands\\Concerns\\SIGINT\" at /app/vendor/laravel/octane/src/Commands/Concerns/InteractsWithServers.php:174)
[stacktrace]
#0 /app/vendor/symfony/console/Application.php(978): Laravel\\Octane\\Commands\\StartCommand->getSubscribedSignals()
#1 /app/vendor/symfony/console/Application.php(316): Symfony\\Component\\Console\\Application->doRunCommand(Object(Laravel\\Octane\\Commands\\StartCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#2 /app/vendor/symfony/console/Application.php(167): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#3 /app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(197): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#4 /app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1203): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#5 /app/artisan(13): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#6 {main}
"} 

In InteractsWithServers.php line 174:
                                                                
  Undefined constant "Laravel\Octane\Commands\Concerns\SIGINT" 
@zliebersbach zliebersbach added the enhancement New feature or request label Mar 27, 2025
@zsistla zsistla added the PM PM to review against project priorities. label Mar 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request PM PM to review against project priorities.
Projects
None yet
Development

No branches or pull requests

2 participants