Q:

PHP script fails part-way through when called from exec()

I have a parent PHP script that can be executed from a browser.  This spawns a child process via exec('/full/path/to/php -f /full/path/to/child_script.php args &> debug.log &') then returns a response to the browser.  The child process generates a bunch of PDF files using Plates and mPDF.  When called via exec from the browser, the child script gets about 10%-20% of the way through creating PDFs, then mysteriously stops without any output except for whatever echo statements I may have put in for debugging purposes. 

the child script works when called from the CLI using the exact same command as used by the browser
the exec() call works on my local machine and our QA server, just not in production
safe mode is off
I have chmod 0777'ed the child script and all the files/directories it operates on
display_errors, log_errors, track_errors are all on
error_reporting = E_ALL | E_STRICT
max_execution_time = 600
exec not in disable_functions
called set_time_limit(0) in child script

I'm really stumped.  What might be causing this?  Or what further steps should I take to debug? 
UPDATE
The problem is not with the call to exec (or shell_exec) itself, since I can call a parent script that then calls the main script via exec from the CLI.  The problem only occurs when I try to execute via the web. 

A:

Some of the comments were on the right track.  After discussing this with my hosting company, it does appear that they are killing the script after 120 seconds CPU time.  This is why I was not getting any time limit error messages from PHP and the real execution time was not consistent. 
My solution will be to refactor this as a cron job, where the server allows longer limits.  Thanks all for the suggestions.