PHP Agent Support

PHP Versions

PHP Agent supports these versions of PHP:

  • 7.0
  • 7.1
  • 7.2
  • 7.3
  • 7.4
  • 8.0

PHP ZTS Agent supports these versions of PHP:

  • 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.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

Drupal89.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

Laravel5.7, 6, 8, 9.x6.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 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 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)