We're happy to announce immediate support for PHP 8, allowing you to safely migrate your apps and enjoy automatic tracing and code-level performance monitoring for PHP 8 applications with Dynatrace OneAgent.
If you’re already using PHP 8.0 or you’re eager to start using it, this blog post is for you. PHP 8 is a major version release of PHP, with breaking changes and excellent features. The most awesome feature is the new Just-in-time (JIT) compiler that’s now built into the language. The compiler uses a technique for executing applications that involves more than just compiling the program into machine code, it also continuously analyzes its runtime.
Most of our competitors are old fashioned when it comes to PHP 8 and automatically disable these JIT optimizations. This is because they use a technique that calls agent code each time a PHP function is called. This produces significant overhead and disables optimizations. On the other hand, smart Dynatrace algorithms work on a demand basis to lower overhead while remaining fully optimized by PHP 8 JIT. So with Dynatrace you improve your application performance while saving host resources as well.
JIT is great, but it brings complexity and requires maintenance
The advantages of JIT are obvious and, just like us here at Dynatrace, you may already be interested in using these innovations for your applications. However, there are some downsides you need to be aware of. According to Dmitry Stogov, a Dynatrace core developer who works on PHP, downsides to JIT include greater complexity, higher maintenance, and debugging overhead.
JIT is extremely simple, but it increases the level of overall PHP complexity, the risk of novel bugs, and the cost of development and maintenance. (Source)
Even a general move from an older code version to a newer code version can bring risks. Therefore, to avoid unnecessary disruption, complications must be easy to identify and resolve.
Help is on the way with Dynatrace OneAgent for PHP 8
Beginning with OneAgent version 1.207, Dynatrace offers you the possibility to track activities in PHP 8.
- Deployment is easier than ever—simply download OneAgent to get out-of-the-box visibility (with a manual configuration approach, this would otherwise take days to set up).
- Get PurePaths and code-level visibility across all application tiers from the front end to the back end.
- Gain deep insights into your environment and precise answers when something goes wrong, powered by the best-in-market AI causation engine, Davis.
- Last but not least, get cloud and infrastructure metrics from the hosts that run your PHP applications.
To find out more, have a look at our PHP monitoring capabilities.
Get started in just three steps
Thanks to the cleverness of OneAgent, you don’t need to modify PHP configuration files and your application code will remain unchanged. You don’t have to use any functions, change deployment plans, or perform additional tests. Thanks to our solution, you can eliminate many such steps where things can go wrong.
- Ensure that Dynatrace OneAgent version 1.207+ is installed on all monitored hosts.
- Go to Settings > Monitoring > Monitored technologies > PHP and turn on Enable PHP 8.0 RC monitoring on every host.
- Restart your PHP application by restarting your PHP services:
- Fast-CGI IIS or Apache processes
And that’s it. There’s no need for manual re-installation and no need to modify any configuration files.
We’re not stopping here. Here are some of the other enhancements we have for you:
- Better visibility of predis libraries is available with OneAgent version 1.207.
- In the near future we’ll introduce an improvement to request attributes so that they can be leveraged for sessions, requests, and response headers.
- OPcache metrics extended with JIT metrics will be provided soon.
Are you new to Dynatrace?
If so, start your free trial today!