When the PHP agent starts, it automatically starts the Java proxy that handles communication between the PHP agents and the controller.
Automatic startup of the proxy works for the great majority of situations. However, you can suppress the automatic startup of this script and run it manually. You would do this if:
- You plan to instrument a PHP CLI entry point. The PHP CLI entry point requires manual startup of the proxy and immediate creation of the node on startup.
- You have multiple Apache or FPM pools on the same machine reporting to the same proxy.
To do this, you first need to configure the agent for manual proxy launch. Then you need to launch the proxy manually.
Configure the Agent for Manual Proxy Launch
The PHP Agent configuration needs to be modified to reflect manual launching.
To configure the agent for manual launching:
- Open the PHP configuration file for editing. The file is php.ini or appdynamics_agent.ini, depending on your setup.
- Set the agent.auto_launch_proxy setting to 0.
- Set the agent.proxy_script to the path of the
runproxythat you want to use. The file in the script is relative to the root of the PHP agent. You can specify the absolute path if you prefer.
- Set the
agent.proxy_ctrl_dirto the directory to use for initial control communication between the agent and the proxy. This directory contains the domain control socket, which the agent uses to start an AppDynamics node. This directory is where the agent gets the configuration for the node. The application user must have read permission on the
Whenever you install the PHP agent, the installer overwrites the
runproxy script and the appdynamics_agent.ini file, but not the php.ini. If you re-install, you need to reset the
agent.auto_launch_proxy setting in the
appdynamics_agent.ini file before you restart the server.
Run the Proxy
Before any traffic runs on the instrumented server, execute the
runProxy script to start the proxy.
The following lists the full set of options for the
runProxy script. The proxy control directory is required.
The following shows an example:
A node is created when the agent first detects traffic on it.
Every time you reboot the server, you need to execute the
runProxy script if you have opted to start the proxy manually.