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.5+
and the x86 32-bit or x86 64-bit architecture - Mac OS X 10.9+
PHP Agent supports 32-bit operating system only on PHP 5.6.
PHP Frameworks and Protocols
Framework/Protocol | Version | Entry Point Type |
---|
Drupal | 7 | Drupal |
Drupal | 8 | PHP MVC |
WordPress | 3.4+, 4.x, 5.x | Wordpress |
Zend | 1, 2, 3 | PHP MVC |
CodeIgniter | 2.x, 3.x, 4.x | PHP MVC |
FuelPHP | 1.5x, 1.6x, 1.8x | PHP MVC |
Magento | 1.5, 1.6, 1.7, 2.3 | PHP MVC |
Symfony | 1, 2, 3, 4 | PHP MVC |
CakePHP | 2.x, 3.x, 4.x | PHP MVC |
Laravel | 5.7, 6, 8, 9.x | PHP MVC |
HTTP |
| PHP Web |
CLI |
| PHP CLI |
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:
- Monitor PHP applications in Zend Thread Safety (ZTS) mode. If you are using ZTS, AppDynamics suggests that you review your dependencies on ZTS to confirm that you actually need it, and if you do not, to switch to the non-ZTS mode
- 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
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 5.6 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) |
|