PHP

PHP is a server-side scripting language particularly well-suited for web development but also popular in general-purpose programming. Originally created by Rasmus Lerdorf in 1994, new versions are now produced by The PHP Group.

PHP is processed by a PHP interpreter implemented in:

  • Apache web server
  • Common Gateway Interface (CGI) executable
  • Command-line Interface (CLI)

The most common ways to run PHP on a web server are:

  • mod_PHP—The default on vanilla Apache HTTP servers. PHP is run as an Apache module, meaning that a PHP request is run under the Apache process. This makes PHP perform well, but flexibility is limited by the Apache configuration, permissions, restrictions, etc.
  • PHP_FPM—FastCGI Process Manager (FPM) uses pool management to optimize performance. Every pool acts as a standalone PHP instance, enabling you to create an independent configuration per pool, which provides granular control and greater flexibility. This is the fastest-performing method to run PHP.

Capabilities

DESK provides extensive PHP monitoring capabilities:

  • All database statements and SQL metrics
  • Compilation, execution, and response time analysis
  • Detailed request and response metrics
  • Information about restarts, crashes, and deployment changes
  • Insight into stack issues (like stack overflow)
  • Automatically collected PHP-FPM metrics
  • Location of hotspots at the code level
  • Analysis of requests to external services via CURL, SOAP interfaces and other remote interfaces like fopen, or get_file_contents

See Which environments and versions does DESK support? for details on supported technologies used in conjunction with PHP.

PHP monitoring is supported for Windows and Linux.

Support and desupport

The different PHP versions have support timelines defined by PHP. Please refer to Supported PHP versions at php.net to see which versions are currently supported by PHP and when end of support for each version is planned.

  • Deprecated versions don't receive updates or security patches, so running them in production should be avoided.
  • DESK is committed to supporting each PHP version for at least as long as the vendor supports it (in most cases, support extends for at least six months beyond this point).

PHP version Vendor released Vendor End of life Supported by DESK until First supported OneAgent Version Last supported OneAgent Version
5.3 2009-06-30 2016-07-21 2018-11-30 1.135
5.4 2012-03-01 2015-09-03 2018-11-30 1.135
5.5 2013-06-20 2016-07-21 2018-11-30 1.135
5.6 2014-08-28 2018-12-31 2019-11-30 1.181
7.0 2015-12-03 2018-12-03
7.1 2016-12-01 2019-12-01
7.2 2017-11-30 2020-11-30
7.3 2018-12-06 2021-12-06 1.169
7.4 2019-11-28 2021-12-06 1.179

When OneAgent detects an unsupported PHP version, we exclude it from monitoring and display a warning in the process overview page:

Activation of deep monitoring was unsuccessful
Process version is not supported

PHP Monitoring Process version not supported

We also write the message to the error logs on the host machine.

See Which environments and versions does DESK support? for details on supported technologies used in conjunction with PHP.

Known limitations

  • CLI monitoring not supported because, during a short-lived CLI execution, injection overhead may make up a large percentage of the whole runtime.
  • There's no differentiation between CGI and Fast-CGI; these are reported as a single type: CGI.
  • We strongly recommend you do not call PHP CLI applications with commands like system, exec, proc_open, or shell_exec, which may lead to significant overhead.

Further reading