<p>I've never used the Global Temporary Tables however I have some questions how they will work in a php environment.</p>

<p>How is data shared: Assuming persistent connections to oracle through php using oci8.  Is the data tied to a database id? is it done based on the Apache httpd demons?  Or is each individual request unique?</p>

<p>When is the data for the session cleared from the global temporary table? I'm assuming (or rather hoping) that its done when the php script exits.  Alternatively if not I'm assuming I'll need to remove it before script exit.</p>

If I remember correct, the data in global temporary tables is available only from one active session and only for this active session (I mean session = connection). So you can see only data which was inserted before in active session. Therefore I belive, this data is cleared after closing session. No matter which language are you using.
At least I think so. :D
As is it written here:
http://www.oracle-base.com/articles/8i/TemporaryTables.php
The data in a global temporary table is private, such that data inserted by a session can only be accessed by that session.
Data in temporary tables is automatically delete at the end of the database session, even if it ends abnormally.
Sorry for my bad english.