Проблемы с невозможностью загрузить ( Unable to load ) dll решаются так:
1. Проверить что проблема действительно в библиотеке, а не неправильно указанном пути или еще каких-то недочетах:
"Выполнить" - regsvr32 путь_до_длл - и удостовериться, что windows не может зарегистрировать dll в системе.
2. Если этот так, то с помощью, например, такой бесплатной программы просмотра зависимостей dll от других dll Dependency Walker выявить чего не хватает - иногда достаточно просто заменить те длл,
которые подсвечены красным цветом на на новые и проверить их пути, потому что, к примеру, у вас в пхп лежит нужная длл, а windows почему-то подцепляет несовместимую длл из system32 папки.
С этой же программой идет подробный FAQ, что и как делать в остальных случаях.
3. Если же у вас фатальная несовместимость длл, и новые длл требуют для своей работы других и так далее, то нужно переустановить либо апач, либо пхп - потому что их релизы несовместимы, а может и систему)))
4. Для 64 разрядных длл требуется свой комплект длл, отличных от 32 разрядных. В смысле, что длл скомпилированная для 64 требует для работы тоже 64 разрядные длл.
Т.е. если пхп 64, то 32 разрядную длл экстеншена он не загрузит.
Поэтому некоторые экстеншены просто могут не работать на 64 разрядных системах и нормальную длл просто не найдете.
Или найдете, но часть функций будет почему-то недоступна или все будет криво работать.
У меня такие проблемы были с Zend Debugger и еще некоторыми. Если все это критично,
то надо устанавливать 32 разрядные версии на 64 операционную систему и не парится со всем этим.