Solving the PHP Startup: Unable to load dynamic library bug


Okay first I'm no expert in apache or php but I guess writing about this bug might help someone. Yes I've installed perhaps tens of times apache php mysql, but everytime I did I encountered several errors, like the error defined above. Well first it was annoying but after some time you'll get used to it.

I'm using windows so I'm using the php's thread safe version: php-5.3.5-Win32-VC9-x86

Ok so how did we caught this error? By starting any php application that uses the mysql library, most often is the phpmyadmin tool. To see more information about the error please refer to you apache logs: APACHE_INSTALL_FOLDER\logs. And you can see a bunch of errors like:
<b>Unknown</b> on line <b>0</b><br />
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\php\\php_pdo_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0
<br />
<b>Warning</b>: PHP Startup: Unable to load dynamic library 'C:\php\php_pdo_mysql.dll' - The specified module could not be found.

So how did I solve this issue:
1. There are times when you're missing some required dlls, so download this tool and it will help you: http://www.dependencywalker.com/. Open a dll and you will see if it's missing one of its dependency. As for me I've downloaded the following DLL:
gpsvc.dll, ieshims.dll, and sysntfy.dll. Usually I put this dlls in c:\lib and add this directory in system path of windows.

2.) And another important note check if your extension directory in php.ini is set, must be: extension_dir = "PHP_INSTALL_FOLDER\ext"

And that's it :-D.

You can look at this URL if you haven't setup your machine:
http://czetsuya-tech.blogspot.com/2010/10/apache-php-mysql-setup.html

{ 0 comments... read them below or add one }