Using Tideways With Enabled PHP open_basedir

The Tideways extension communicates with the tideways-daemon via a Unix socket. When you enable PHP’s open_basedir configuration, then this socket must be in the open_basedir path to be writable by the PHP process. If this is not the case, then Tideways cannot collect data from the PHP extension.

You can make Tideways work with enabled open_basedir in one of two ways.

Add Directory to open_basedir

Add the directory tideways-daemon socket is located to your open_basedir. An example could be the following configuration, where your app is located at /var/www/html:

open_basedir=/var/www/html:/var/run/tideways

Find the open_basedir entry in your php.ini configuration and make sure not to remove one of the existing entries when adding the /var/run/tideways directory.

Change Communication From Socket to TCP/IP

Instead of adding the directory you can instead change the communication between PHP extension and daemon to use TCP/IP, which is unaffected by the open_basedir configuration.

First, configure the tideways-daemon to start listing on a port via TCP/IP. You need to modify the file /etc/default/tideways-daemon to contain the --address option:

TIDEWAYS_DAEMON_EXTRA=" --address=127.0.0.1:9135"

Restart the daemon with /etc/init.d/tideways-daemon restart and then configure the extension with the following php.ini setting to send data to the TCP/IP address instead with:

tideways.connection=tcp://127.0.0.1:9135

Restart your webserver or PHP-FPM to activate this configuration change.

Still need help? Email [email protected]