The configuration environment is as follows:
Win2003SP2+IIS6+php5.26+mysql5.0.51a+zend3.3a+PhpMyAdmin2.11.7.1 PHP execution mode: isapi. Mysql is installed manually.
About "Invalid memory location access" error solutions and steps: (Some partially invalid debugging steps are skipped..)
1. Turn on the error display of IIS, but no cause of the error was found!
2. Check the IIS extension, ISAPI, php.ini and Mysql configurations as well as the corresponding installation directory ACLs permissions, all are correct.
3. Recycle the IIS process, the error still appears "Invalid memory location access"....
4. Turn on display_startup_errors = On in php.ini, and the problem is finally discovered... (Note: If you turn on display_startup_errors in php.ini, if there is an error in php, it will prompt, and in the event viewer There are records. If set to display_startup_errors = Off, there will be no prompt)
5. Error Analysis
6. The solution is also very simple. Because the php_sqlite.dll is not loaded into the php_pdo.dll file, the memory location access is invalid when running the phpinfo() function. Find the php.ini configuration file, and then remove the semicolon in front of ";extension=php_pdo.dll", extension=php_sqlite.dll
Then recycle the IIS application pool process and the problem is completely solved.
Just restart IIS.
In order to maintain the stability of the system, windows2003 does not allow access to the memory address occupied by the system itself (to prevent blue screens). If a program attempts to access it, it will be blocked and the above prompt will appear. This is usually caused by incorrect installation of the software.