Search code examples
phppdofastcgims-access-2016

"FastCGI process exited unexpectedly" intermittently occurring on PDO connect with identical files


NOTE: This is a significant rewrite (and retitle) based on the last couple of days of poking at the problem since posting the original question.

I have a PHP script that used to work but over the last several months it has begun failing intermittently. When the script works it reads an XML file and then uses PDO to write data into a blank MS Access database file (a copy made earlier in the script of a pre-existing template file).

Historically it has been able to deal with 50+ MB XML files (it did back in December), but currently when the XML is around 300K in size the script intermittently fails with a "FastCGI process exited unexpectedly" error, the only error of significance I can find in the Failed Request Logging file generated by IIS, and unaccompanied by any error messages from PHP.

I say intermittently because with a file right on the borderline (e.g. 301K) I've had the script both successfully populate the .accdb file and fail. Identical .accdb target, same source XML file, different behavior by FastCGI. I should note that this all takes about 1 second from what I can see.

So, a) any idea what is going wrong, and b) any suggestions on how to squeeze more information out of PHP or the Failed Request Logging system?

UPDATE: With a suggestion from @Darren I've discovered that after the "FastCGI process exited unexpectedly" error there's a subsequent "The extended attributes are inconsistent" message that I'm now looking into.

UPDATE 2: So far I've shut off the UAC sound (a surprisingly effective fix for a lot of people getting the extended attributes error, but not me), and a SFM /scannow and DISM combo, but neither has helped.


Solution

  • So, to make a long story short, I wound up installing the Access 2013 Redistributable, even though the ODBC drivers were clearly working because the .accdb file could populate under the correct circumstances. I had needed to do it for a different machine which had the Click-to-Run version of Access installed, so I figured I might as well try it. Installing the redistributable on the server where I was getting this flaky behavior allowed the script to run to completion without a hitch on any source file I threw at it.

    So, if you are getting intermittent failures with PDO connecting to .accdb files via ODBC on a Windows machine, try the MS Access 2013 Redistributable, which is available from the Microsoft site at https://www.microsoft.com/en-us/download/details.aspx?id=39358