PHP Agent Support
PHP Versions
PHP Agent supports these versions of PHP:
PHP ZTS Agent supports these versions of PHP:
PHP Web Servers
Apache 2.2 and 2.4 in these modes:
prefork
mode using mod_php
- worker MPM mode using
mod_fastcgi
with php-fpm
or mod_fcgid
with php-
cgi
Any web server compatible with php-fpm
.
Operating Systems
Any Linux distribution based on glibc>=2.12
or GLIBCXX_>=3.4.19
and the x86 64-bit architecture.
The PHP agent does not support Power Architecture.
PHP Frameworks and Protocols
Framework/Protocol | Version < PHP 8 | Version >= PHP 8 | Entry Point Type |
---|
Drupal | 7 |
| Drupal |
Drupal | 8 | 9.1+ | PHP MVC |
WordPress | 3.4+, 4.x, 5.x | 5.6+ | Wordpress |
Zend | 1, 2, 3 | 3+ | PHP MVC |
CodeIgniter | 2.x, 3.x, 4.x | 3+ | PHP MVC |
FuelPHP | 1.5x, 1.6x, 1.8x | 1.8.2 | PHP MVC |
Magento | 1.5, 1.6, 1.7, 2.3 |
| PHP MVC |
Symfony | 1, 2, 3, 4 | 5.2+ | PHP MVC |
CakePHP | 2.x, 3.x, 4.x | 4+ | PHP MVC |
Laravel | 5.7, 6, 8, 9.x | 6.20.+ | PHP MVC |
HTTP |
|
| PHP Web |
CLI |
|
| PHP CLI |
PHP 8 supports the framework versions only from the mentioned versions. The versions below these are not supported.
If your PHP framework is not listed here, the agent detects your entry points as PHP Web and names the business transactions based on the first two segments of the URI — the default naming convention for PHP Web transactions. So it is still possible to monitor applications on unsupported frameworks. Laravel BTs are detected as symfony, as laravel itself is built on top of symfony.
There are few limitations of the PHP Agent. The PHP Agent does not:
- Support Zend Monitor
- Officially support plug-ins that encrypt and, or obfuscate PHP code such as Zend Guard or ionCUBE Loader
- Support compatibility with the Xdebug module
- Support the
pcntl_fork
function which forks the child/sub-processes
Transaction Naming
Framework/Environment | Default Transaction Naming |
---|
Drupal | page callback name |
Wordpress | template name |
PHP MVC Frameworks | controller:action |
PHP Modular MVC Frameworks | module:controller:action |
PHP Web | URI |
PHP Web Service | service name.operation name |
PHP CLI | last two segments of the script's directory path plus the name of the script |
Virtual host prefixing is available for all supported entry point types except PHP CLI.
PaaS Providers
Exit Points
Supported HTTP Exit Points |
---|
curl/curl-multi*
|
drupal_http_request()
|
fopen(), file_get_contents()
|
Zend_HTTP_Client::request()
|
*The total time reported for a curl/multi_curl request in the Controller is the same as reported by the function curl_getinfo
. Also, we report the the following execution metrics in the exit call details for the curl/multi_curl request which are included in the total time:
-
namelookup_time
connect_time
pretransfer_time
redirect_time
Supported Database Exit Points |
---|
MySQL old native driver (removed for PHP 7) |
MySQLi Extension* |
OCI8 |
PDO |
PostgreSQL accessed via PDO and pgsql extensions |
* mysqli_multi_query
is not supported.
Supported Cache Exit Points |
---|
Memcache |
Memcached |
Predis 0.8.5 and 1.1.1, on PHP versions 7.0 and higher |
Phpredis 4.1 |
Although Predis is a full PHP client library, the PHP Agent supports Predis as an exit point only, not as an entry point.
Supported Web Service Exit Points |
---|
PHP SOAPClient |
NuSOAP 0.9.5 |
Supported Message Queue Exit Points |
---|
RabbitMQ |
RabbitMQ support requires the amqp extension.
Opcode Cache Compatibility
Alternative PHP Cache (APC) |
|