Well enligt PHP.net ska Access Violation felet under IIS redan vara åtgärdat i version 5.1.2:
Fixed bug #35612 (iis6 Access Violation crash). (Dmitry, alacn.uhahaa)
Description:
------------
PHP5 and PHP4 on iis6 (windows server 2003) sometimes crash with access
violation
Reproduce code:
---------------
(code at zend_execute_API.c)
before iis shutdown or recycle the pool, it will call
"zend_shutdown_timeout_thread()", that will post a quit message on
"timeout_thread_id" and return
Expected result:
----------------
"zend_shutdown_timeout_thread()" should wait "timeout_thread" finish
before return
Actual result:
--------------
sometimes "zend_shutdown_timeout_thread()" return before the
"tiumeout_thread" finish, and the iis release the library, than the iis
crash at "timeout_thread_proc()" because the library was released.
the fix for PHP5 and PHP4 at "zend_execute_API.c"
Vilket inte stämmer för fem öre, felet kvarstår iaf fram till PHP 5.1.4, inte påträffat felet ännu i 5.2.1.
Så i princip kan det vara vad som helst, någon PHP bug eller som här på webforum.nu, deras server fick samma problem vilket tydligen åtgärdades med nya minnesmoduler.
Många rekommenderar att inte använda PHP ISAPI då denna kräver thread safe skrivna moduler, vilket många moduler inte är. Istället säger många att man istället ska använda FastCGI PHP, har inte testat detta själv.
Felet uppstår tydligen även under Apache + Windows, så det är inte helt beroende av IIS. Den ultimata lösningen är väl helt enkelt att övergå till en ren linux miljö, LAMP (Linux, Apache Mysql och PHP).