<p>PHP provides a mechanism to register a shutdown function:</p>

<pre><code>register_shutdown_function('shutdown_func');
</code></pre>

<p>The problem is that in the recent versions of PHP, this function is still executed DURING the request.  </p>

<p>I have a platform (in Zend Framework if that matters) where any piece of code throughout the request can register an entry to be logged into the database.  Rather than have tons of individual insert statements throughout the request, slowing the page down, I queue them up to be insert at the end of the request.  I would like to be able to do this after the HTTP request is complete with the user so the length of time to log or do any other cleanup tasks doesn't affect the user's perceived load time of the page.</p>

<p>Is there a built in method in PHP to do this?  Or do I need to configure some kind of shared memory space scheme with an external process and signal that process to do the logging?</p>

Aside from register_shutdown_function() there aren't built in methods for determining when a script has exited. However, the Zend Framework has several hooks for running code at specific points in the dispatch process. 
For your requirements the most relevant would be the action controller's
post-dispatch hook
which takes place just after an action has been dispatched, and the
dispatchLoopShutdown event
for the controller plugin broker.
You should read the manual to determine which will be a better fit for you.
EDIT: I guess I didn't understand completely. From those hooks you could fork the current process in some form or another.
PHP has several ways to fork processes as you can read in the manual under
program execution
. I would suggest going over the pcntl extension - read
this blog post
to see an example of forking child processes to run in the background.