php_mysql.dll ошибка запуска

Alexandre

PHPПенсионер
php_mysql.dll ошибка запуска

Win XP, PHP 5.2.0, MySQL 5.0.41-win32 (bin) установлен бинарник из зипа.

при старте апача выдает ошибку
php_mysql.dll - unable to load library php_mysql.dll - Неверная попытка к доступу адреса памяти.

до перезагрузки - mySQL работал нормально.

какие могут быть пути решения проблемы?
 
такая же ботва. 5.0.41 + PHP 5.2.3 , WinXP SP2 ошибка и на и IIS и на Apache 2.2.4
Не грузятся такие екстеншены:
php_mysql.dll
php_mysqli.dll
php_pdo_mysql.dll

описание ошибки: php_mysql.dll - unable to load library php_mysql.dll - Неверная попытка доступа к адресу памяти.


http://bugs.php.net/bug.php?id=41568
 
проапгрейдил до
Apache/2.2.4 (Win32) PHP/5.2.3 configured -- resuming normal operations

Однако
PHP Warning: PHP Startup: Unable to load dynamic library 'F:\\www\\PHP\\ext\\php_mysql.dll' - in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'F:\\www\\PHP\\ext\\php_mysql.dll' -

странно, но еще так же не подгружается php_mysqli.dll , php_openssl.dll, php_pdo_mysql.dll
 
Проблемы с невозможностью загрузить ( 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 операционную систему и не парится со всем этим.
 
Lisav
Вас дата оригинального вопроса не смущает?
 
Нисколько.
1) тема актуальна - многие ищут на форумах решение своих похожих проблем
2) нормального решения в интернете найти сложно
3) сам я в свое время потратил на это много времени
4) phpclub по связанным с этим поисковым запросам в числе первых.

Так, что я думаю не зря запостил всё это, да и нечего делать было сегодня, лазил по форумам...)))
 
Lisav тема не актуальна, т.к. данная библиотека для PHP более не требуется.
 
да сама длл не суть важна, например, с php_mysqli таже байда бывает часто - я только раза 3 сталкивался при установке на разных компах
 
Сверху