0

I have MS Server 2019 Standard edition, IIS 10.0.17763.1, Visual C++ 2019, PHP 8.0.26 NTS x64, and php_pdo_sqlsrv_80_nts.dll extension enabled. I'm able to connect to MS Access 2007 database and run a query. I'm able to query the database and return 50 records. The script randomly stops working and I get a 500 error. The Windows Application log returns

Faulting module name: ucrtbase.dll, version: 10.0.17763.1490, time stamp: 0x48ac8393 Exception code: 0xc0000409 Fault offset: 0x000000000006e77e Faulting process id: 0x1a54 Faulting application start time: 0x01d90be40a629837 Faulting application path: C:\PHP8\php-cgi.exe Faulting module path: C:\Windows\System32\ucrtbase.dll

I have tried PHP 8.0.26, 8.1.13, and 8.2.0, both NTS and TS, both x86 and 64.

I searched for Faulting module name: ucrtbase.dll, version: 10.0.17763.1490 error and tried command with no luck

DISM.exe /Online /Cleanup-image /Restorehealth

Does anyone else experience this? Does anyone have php8* with PDO working on IIS and if so what did you install and what is your configuration?

knlklabacka
  • 71
  • 1
  • 6
  • 1. Access is never a thing designed for web apps. You might try to use a true database server like SQL Server. 2. PHP 8.0 and above on Windows is only supported by the PHP community (IMHO probably in the best effort mode), so either you report this issue to them and wait for a fix, or you simply migrate to PHP 8.x on Linux. – Lex Li Dec 09 '22 at 16:15
  • Lex Li, I completely agree with you on moving to SQL server and even running PHP on Linux. Unfortunately my hands are tied by the company I'm doing this work for. – knlklabacka Dec 09 '22 at 17:01
  • Does this error happen every time, even in the simplest of scripts? Maybe you can build a minimal script and see if it crashes on IIS or directly on PHP. – YurongDai Dec 12 '22 at 09:41
  • I did create a minimal script. The script connects to the database runs a SELECT top(50) query. It work 8 out of 10 times. It's error is intermittent. – knlklabacka Dec 12 '22 at 14:30
  • According to your description, this error appears randomly, and it is impossible for us to reproduce your problem, so I suggest you to open a case via: https://support.microsoft.com. – YurongDai Dec 13 '22 at 08:25
  • I have the same problem: after creating a connection to an Access db (with Mysqli or PDO), it seems i have just 1 second before I get a 500 error. If I add a sleep(x) istruction BEFORE opening the connection it does not crash, while placing it AFTER opening the connection it works only if I wait no more than 1 second. With sleep(2) or more it crashes on ucrtbase.dll. I double checked all timeouts in IIS and php.ini but I still cannot find the reason. – Niente0 Dec 21 '22 at 13:35

0 Answers0