PDA

Просмотр полной версии : Ошибка загрузки модуля (dll) в PHP


Diomas
26.02.2006, 16:58
У меня поставлен Apache 2.0.55 и PHP 5.1.2 (я скачал тот, что в zip - там в папке ext прилагаются dll-модули)
Вроде все работает, но вот захотелось попробовать расширения в dll (конкретно curl). Я в php.ini указал: extension_dir = "c:\php\ext" и раскомментил extension=php_curl.dll.
На что при запуске апача стало выдаваться PHP Startup: Unable to load dynamic library 'c:\php\ext\php_curl.dll' - Не найден указанный модуль.
Попробывал подключать разные модули:
php_sqlite.dll - то же
php_gd2.dll - работает
php_mysql.dll - то же
php_xmlrpc.dll - работает
В чем может быть проблема?

lizergil
27.02.2006, 14:41
php_sqlite.dll - то же
php_gd2.dll - работает
php_mysql.dll - то же
php_xmlrpc.dll - работает
В чем может быть проблема?

Все с пазами у тебя нормально, проблема вот в чем:
php_mysql.dll и php_sqlite.dll, например, требуют присутствия в системе libmysql.dll, можешь кинуть ее в папку WINDOWS или вместе с расширением

С курлом была аналогичная проблема, но что нехватало непомню, попробуй гугль.

nagash
27.02.2006, 16:08
какой нафиг гугл?
надо всего лишь документацию уметь читать
http://ru.php.net/curl

---
Замечание для пользователей Win32: Для работы с этим модулем в Windows необходимо скопировать файлы libeay32.dll и ssleay32.dll из директории DLL Win32 дистрибутива PHP в директорию SYSTEM (Нпример C:\WINNT\SYSTEM32 или C:\WINDOWS\SYSTEM)
---

Diomas
27.02.2006, 18:30
Спасибо за ответы. http://ru.php.net/curl я уже нашел =). Единственное, что меня смущает - я хотел, чтобы весь php находился в папке php, а не был разбросан по всему компу, теб более что libeay32.dll и ssleay32.dll входят в его состав. И c:\php и c:\windows\system одинаково находятся в path. Почему эти библиотеки могут работать только из system, они еще к чему-то привязываются? Это какие-то виндовые заморочки...

2 lizergil
php_sqlite.dll не требует libmysql.dll, он оказывается требует php_pdo.dll

Diomas
27.02.2006, 18:32
Кстати, кто такой php_pdo.dll и все остальные php_pdo_*.dll в c:\php\ext?

Constantine
28.02.2006, 23:04
Кстати, кто такой php_pdo.dll и все остальные php_pdo_*.dll в c:\php\ext?http://ru.php.net/manual/ru/ref.pdo-mysql.php

†‡Paladin‡†
26.03.2006, 16:37
Если хочешь, что бы все dll были в одной конкретной папке. То пропиши эту папку в PATH.

Diomas
26.03.2006, 17:39
2 †‡Paladin‡†
в случае с libeay32.dll и ssleay32.dll не помогает - только коприрование в windows\system :(