dl is awkward because the filename format is OS-dependent and because it can complain if the extension is already loaded. This wrapper function fixes that:<?phpfunction load_lib($n, $f = null) { return extension_loaded($n) or dl(((PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '') . ($f ? $f : $n) . '.' . PHP_SHLIB_SUFFIX);}?>Examples:<?php// ensure we have SSL and MySQL supportload_lib('openssl');load_lib('mysql');// a rare few extensions have a different filename to their extension name, such as the image (gd) library, so we specify them like this:load_lib('gd', 'gd2');?>