- Can I use firmaprofesional/elastic-apm-bundle in a Laravel application?
- No, not directly. firmaprofesional/elastic-apm-bundle is a Symfony bundle that depends on Symfony's bundle registry, a DependencyInjection extension, and subscribers to kernel.request, kernel.response, and kernel.exception. Laravel has no equivalent bundle wiring, so the package would have to be reimplemented as a service provider, HTTP middleware, and a terminate callback. Treat it as a design reference rather than a Composer dependency.
- How do I install firmaprofesional/elastic-apm-bundle?
- Install it with composer require firmaprofesional/elastic-apm-bundle and register the bundle in config/bundles.php in a Symfony application. You then configure the Elastic APM server URL, service name, and related options through the bundle's configuration tree. There is no Laravel installation path because Laravel does not use Symfony bundles in that way.
- Is firmaprofesional/elastic-apm-bundle still maintained?
- No. Its last release was 2020-06-16, it has zero stars and zero dependents in the assessment, and it is unmaintained, so there is no security response path. The APM Server intake schema has also changed since 2020, so payloads may be rejected or silently degraded by a modern APM Server. Avoid adding it as a transitive dependency.
- Which PHP and Symfony versions does elastic-apm-bundle support?
- It predates PHP 8.x and current Symfony majors, so its Composer constraints are likely to conflict with a modern Laravel or Symfony composer.json. Anything on PHP 8.1 or newer would require patching before it could even install. That makes compatibility the first blocker in any Laravel evaluation.
- What is the Laravel alternative to this Symfony Elastic APM bundle?
- The practical Laravel alternatives are the official Elastic PHP agent (elastic/apm-agent-php) installed as a PHP extension, or OpenTelemetry PHP with an OTLP exporter pointed at Elastic APM Server. Both avoid Symfony bundle coupling. Run a short spike comparing them against a staging Laravel app before writing any custom code.
- Does Elastic APM Server accept OTLP from OpenTelemetry PHP?
- Yes. Elastic accepts OTLP natively, so the OpenTelemetry PHP SDK with an OTLP exporter can send traces to APM Server without Elastic-specific libraries. That gives you vendor-neutral instrumentation and is the preferred path if observability vendor is still open. Confirm the installed Elastic Stack version accepts OTLP before committing.
- How do I add Elastic APM tracing to a Laravel app without this bundle?
- Build a thin Laravel-native adapter: an ApmServiceProvider for config publish and a singleton client, an ApmRequestMiddleware that starts a transaction and tags route, controller, and user, and a terminable middleware that closes and flushes after the response is sent. Target Laravel 10 or 11 on PHP 8.2 or 8.3 and pin to the APM Server intake version you actually run. Only do this if both the official agent and OTel are blocked.
- Can I install the Elastic APM PHP agent as an extension instead?
- If you can install a PHP extension in your runtime image, use elastic/apm-agent-php instead; its auto-instrumentation removes the need for this bundle entirely. If your platform restricts you to userland Composer dependencies, the extension route is closed and OTel or a small custom adapter becomes the fallback. This is an ops decision worth settling before any porting work.
- Is this package safe to use in production?
- It has no production evidence, no dependents, and no maintainer, so there is no security response path and no field validation reported. Bundling it would also create Dependabot noise, audit findings, and a permanent fork obligation. For production Laravel workloads the risk is high relative to the value.
- How much work is it to port this bundle's APM client to Laravel?
- The assessment estimates three to four weeks including tests to extract the payload and transport logic into a Laravel package, after which you own that fork indefinitely. A two-day spike comparing the official agent and OTel should come first, because either one may eliminate the custom work. Only port the client if both options are blocked.