PHP Agent Support

PHP Versions

PHP Agent supports these versions of PHP:

  • 5.6
  • 7.0
  • 7.1
  • 7.2
  • 7.3
  • 7.4

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

Drupal8PHP 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

Laravel5.7, 6, 8, 9.xPHP 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 Serviceservice name.operation name
PHP CLIlast 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

PaaS ProviderBuildpack
Pivotal Cloud Foundry

https://github.com/Appdynamics/php-buildpack
See 
http://docs.pivotal.io/appdynamics/index.html for information about integration with PCF.

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)