XHProf for PHP7 and PHP8
Self-hosted XHProf (free & opensource)
The original XHProf extension recently found new maintainers and adds PHP 7 & 8 support based on a completely rewritten code-base for less overhead.
You can install xhprof PHP Extension by compiling it from its open-source codes or from a package in your distribution. Head over to the Github repository and download the source from there. You can install the extension using these steps:
git clone "https://github.com/longxinH/xhprof.git"
cd xhprof/extension
phpize
./configure
make
sudo make install
Load the extension in your php.ini with extension=xhprof.so
.
As for integration of XHProf into your application you can use the low-level API to enable and disable the Profiler:
<?php
xhprof_enable();
// your application code
$data = xhprof_disable();
file_put_contents(
sys_get_temp_dir() . "/" . uniqid() . ".yourapp.xhprof",
serialize($data)
);
This stores the trace in your temporary directory which the default UI uses to look for data. Install the xhprof_lib
and xhprof_html
directories from this repository into your webfolder and navigate to xhprof_html/index.php
to see a list of trace.
If you want to use some improved open-source UIs take a look at the following projects:
- XHGui by Mark Story
- gajus/xhprof.io
- preinheimer/xhprof
Please check each projects installation notes on how to get the respective UIs running.
Try Tideways PHP Profiler 14 days for free
If you want to avoid the manual setup, integration and maintenance, then give our Tideways PHP Profiler a try. We take care of efficient collection, aggregation and provide a snappy, modern UI combined with many additional features such as SQL Query profiling on top.
You can try the Tideways Profiler for free, no credit-card required:
The cloud version of Tideways includes SQL Query, HTTP, Framework + E-Commerce Profiling, and many additional features that XHProf does not.