Блог

Windows + PHP 5.2.9 + MySQL 5.1.34 (продолжение)

25 Апреля 2009, 02:08

В продолжение поста про падение apache под windows из-за библиотеки php_mysql.dll.

Всё дело в том, что в PHP 5.2 используется старая библиотека для MySQL (5.0.30), из-за чего при попытке работать с MySQL 5.1.30 и выше всё просто-напросто падает.

Поискав, я нашёл, казалось бы, решение: добрые люди скомпилировали новую библиотеку из исходников mysqlnd, но в моём случае это тоже ничего не дало: phpinfo() показывал наполовину правильную версию, но при работе всё равно всё отваливалось.

Тогда я решил применить радикальный метод и поставить у себя PHP 5.3.0 RC1. Поскольку дома всё равно всё используется только для разработки, то это не так страшно.

Короче говоря, оно подхватилось нормально, но с php_mysqli.dll всё равно работает через жопу, поэтому лучше всё пускать через PDO mysql. По крайней мере, ничего не отваливается (на данный момент).

И да, PHP 5.3, взятый из скомпилированного под VC9 тоже падал и тянул за собой Apache. Версия из-под VC6 работает нормально. Только пришлось скопировать libhttpd.dll из апачевского каталога (Apache/bin/), потому что на него завязан php5apache2_2.dll.

Добавить комментарий

Комментарии

01.06.2009, 21:43, Сашок.
5.0.51a они туда положили, а какие могут быть проблемы? так то 2 дня уже нормально работает.
Ответ:

Я в этом посте написал, как впервые наткнулся на грабли:

«Апач падает при вызове в PHP-сценарии $table->info(Zend_Db_Table_Abstract::COLS), где $table — это экземпляр Zend_Db_Table_Abstract (всё работает через mysqli).
При вызове этого метода apache падает с критической ошибкой, а в логи идёт «Ошибка приложения httpd.exe, версия 2.2.11.0, модуль php_mysqli.dll, версия 5.2.9.9, адрес 0x00002b6b.».
Система такая: Apache 2.2.11, PHP 5.2.9-2, MySQL 5.1.32. Всё это работает с Zend Framework 1.7.8.
»

То есть, насколько я понимаю, проблемы начинаются при попытках получить данные о таблицах (тоже через Зендовскую прослойку). И ещё всё отваливалось при попытках вставить данные. Причём с использованием mod_pdo_mysql и mod_mysqli всё падало в разных местах и по-разному :)

Вполне может быть, что при использовании запросов только на выбор и на вставку, без затрагивания подготовленных утверждений или каких-то запросов, касающихся структуры данных, всё прокатит. В любом случае в течение месяца скорее всего будет релиз PHP 5.3, да и 5.2.10 на подходе (хотя мне не верится, что они туда положат нормальную библиотеку :) ).

31.05.2009, 16:12, Сашок.
Windows + PHP 5.2.9-2 + MySQL 5.1.34 встало без проблем
Ответ:

Вставать-то оно встаёт, но потом начинаются проблемы. В Phpinfo какая версия расширения светится? Если 5.0.*, то всё ещё впереди, если 5.1.*, то значит они нормальную библиотеку всё-таки положили в этот дистрибутив и тем лучше :)