I have what is probably a slightly different manifestation of the same problem.
I'm using the latest PHP (4.1.2), Apache (1.3.24), and fully-patched Windows NT 5.0 build 2195, including the latest data access components from Microsoft (2.7 RTM). I am running apache as a user other than the system, for data permission reasons.
Both the Apache module and the PHP cgi die the same way when odbc_tables is called on an Access DSN. A pop-up is displayed on the SERVER DESKTOP that reads:
The instruction at "XXX" referenced memory at "YYY". The memory could not be "read".
The dialog box MUST BE CLOSED before the apache instance terminates, so the PHP app seems to hang from the browser side. Additionally, all other connections to the apache server run VERY SLOW until the dialog(s) are closed.
One work-around (I think) for Access only is to run something like:
SELECT MSysObjects.Name
FROM MSysObjects
WHERE (((MSysObjects.Type)=1) AND ((MSysObjects.Flags)=0));
Which should return all normal, non-hidden/system tables, I think.
But this is a real problem, ESPECIALLY the way the crash hangs up apache.