Where to find an extension?
PHP extensions are usually called "php_*.dll" (where the star represents the name of
the extension) and they are located under the "PHP\ext" ("PHP\extensions" in PHP4)
PHP ships with the extensions most useful to the majority of developers. They are
called "core" extensions.
However, if you need functionnality not provided by any core extension, you may still be
able to find one in PECL. The PHP Extension Community Library (PECL) is a repository for
PHP Extensions, providing a directory of all known extensions and hosting facilities for
downloading and development of PHP extensions.
If you have developped an extension for your own uses, you might want to think about hosting
it on PECL so that others with the same needs can benefit from your time. A nice side effect
is that you give them a good chance to give you feedback, (hopefully) thanks, bug reports
and even fixes/patches. Before you submit your extension for hosting on PECL, please read
Which extension to download?
Many times, you will find several versions of each DLL:
Different version numbers (at least the first two numbers should match)
Different thread safety settings
Different processor settings (x86, 64 bits...)
Different debugging settings
You should keep in mind that your extension settings should match all the
settings of the PHP executable you are using. The following PHP script will
tell you all about your PHP settings:
Or from the command line, run:
Loading an extension
The most common way to load a PHP extension is to include it in your php.ini
configuration file. Please note that many extensions are already present in your
php.ini and that you only need to remove the semicolon to activate them.
However, some webservers are confusing because they do not use the php.ini located alongside
your PHP executable. To find out where your actual php.ini resides, look
for its path in phpinfo():
Configuration File (php.ini) Path C:\WINDOWS
Loaded Configuration File C:\Program Files\PHP\5.2\php.ini
After activating an extension, save php.ini, restart the webserver and check
phpinfo() again. The new extension should now have its own section.
If the extension does not appear in phpinfo(), you should check your logs to
learn where the problem comes from.
If you are using PHP from the command line (CLI), the extension loading error can be read
directly on screen.
If you are using PHP with a webserver, the location and format of the logs vary depending on
your software. Please read your webserver documentation to locate the logs, as it does not
have anything to do with PHP itself.
Common problems are the location of the DLL, the value of the "
extension_dir" setting inside php.ini and compile-time setting mismatches.
If the problem lies in a compile-time setting mismatch, you probably didn't download the right DLL.
Try downloading again the extension with the right settings. Again, phpinfo()
can be of great help.