Я использую Vista 64 box и пытаюсь настроить Joomla с помощью IIS7 (мне нравится Joomla, я хочу, чтобы на моем веб-сайте были некоторые компоненты asp.net, поэтому я хочу использовать IIS7, а не Apache). Я впервые устанавливаю php и mysql, поэтому вполне возможно, что я делаю что-то явно неправильное ... хотя я думаю, что я пробовал достаточно диагностических шагов (описанных ниже), что нет ничего явно неправильного для меня ...
Я установил PHP (32-битная, 5.2.8), и это, кажется, работает нормально: я получил test.php, который отображает phpinfo на веб-странице, обслуживаемой IIS7.
Я также установил mySQL (32-битная, 5.1.31, загруженная с http://dev.mysql.com/downloads/mysql/5.1.html#win32). Кажется, это тоже хорошо работает (я могу подключиться к нему с помощью MySQL Administrator).
Я настроил php.ini и не включаю расширение mySQL. Если я делаю php -m из командной строки, я вижу mysql в списке. Однако с phpinfo (либо из командной строки (php -info), либо через IIS (в файле test.php)) раздел mysql отсутствует. Поскольку mysql даже не отображается в вызове командной строки php, я не думаю, что это имеет какое-либо отношение к IIS - просто установка mysql & php на vista.
Я не установил mysql 64bit, потому что у меня 32-битная установка php, и поскольку mysql 32 bit работает нормально, я предполагаю, что это не проблема. Кажется, официальной 64-битной версии php не существует, поэтому я установил ее (и опять же, похоже, она работает нормально).
В настоящее время UAC отключен, поэтому проблема не в этом.
Если я поставлю точку с запятой перед расширением = php_mysql.dll в моем php.ini, то при запуске php -m модуль mysql не появится. Если я возьму это снова, тогда это обнаружится. Так что я по крайней мере уверен, что я изменяю правильный php.ini.
Я скопировал libeay32.dll, libmysql.dll и php_mysql.dll в c: \ windows \ system32. Я удалил их, и это, похоже, не имеет значения для вывода php -m (то есть, там будет отображаться mysql, если модуль не закомментирован из php.ini).
Я также попытался скопировать dlls ibeay32.dll, libmysql.dll и php_mysql.dll в c: \ windows \ sysWOW64; это не имело значения.
Кажется, что наименьший положительный шаг был бы для mysql, чтобы показать при запуске php -info из командной строки. Есть ли что-то еще, что я должен попытаться выяснить, почему mysql появляется в php -m, а не в php -info? Или я не в курсе, как использовать это, чтобы оценить, может ли php общаться с mysql?
Спасибо!