Strace PHP

Stracing PHP can be a useful way to debug what a site or script is doing in order to track down the cause of a bug, hang, or other problem. To begin with, you need to enter the same environment as the PHP processes:

            su - [user]
        

(where [user] is the username of the website you're switching to)

Running the following command will show a list of processes running under that user:

            ps aux
        

To attach an strace to a particular process, type:

            strace -p [process_id]
        

This will then show the system calls that the PHP process is running, including connecting to a database or any external network requests. It will show if the process is hanging or if it's waiting around for something else to happen.