- Microsoft Windows XP Professional Service Pack 3
- Installed apache_2.2.11-win32-x86-no_ssl.msi as a service.
- Installed php-5.2.9-2-win32-installer.msi
- Used Apache 2.2 option
- Added MySQL and MySQLi extensions.
- Installed mysql-essential-5.1.34-win32.msi.
Checked that the PHP configuration file, php.ini, has the following entries to support MySQL and MySQLi extensions:
extension_dir ="C:\Program Files\PHP\ext" … [PHP_MYSQL] extension=php_mysql.dll [PHP_MYSQLI] extension=php_mysqli.dll
Checked that the folder C:\Program Files\PHP\ext has the following files: php_mysql.dll and php_mysqli.dll.
When starting Apache, its errors.log has these messages:
[Fri May 15 14:41:03 2009] [notice] Apache/2.2.11 (Win32) PHP/5.2.9-2 configured -- resuming normal operations [Fri May 15 14:41:03 2009] [notice] Server built: Dec 10 2008 00:10:06 [Fri May 15 14:41:03 2009] [notice] Parent: Created child process 3868 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Program Files\\PHP\\ext\\php_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Program Files\\PHP\\ext\\php_mysqli.dll' - The specified module could not be found.\r\n in Unknown on line 0
It means that the required PHP extensions could not be loaded. It doesn't matter how I change change the value of extension_dir, for example using forward slashes instead of backslash, or using double backslashes, or a relative path, and then restarting the Apache service; the same type of error appears and the required extensions aren't loaded. In the end, I restarted Windows and then Apache loaded the libraries!
Once I got my configuration working, I changed the folder name and the value of extension_dir, and restarted Apache. Unfortunately, my system kept working, so I'm none the wiser.