PHP, MySQL на IIS - MySQL не загружается при обслуживании страниц - PullRequest
3 голосов
/ 12 декабря 2008

У меня, насколько я могу, есть возможность настроить IIS (6.0), PHP (5.2.8) и MySQL (5.1.30) на Windows Server 2003, со всеми связанными с этим гадостями (я думаю) в IIS и PHP, чтобы общаться друг с другом.

PHP работает - однако я не могу использовать библиотеки mysql или mysqli со страницы PHP. Неустранимая ошибка: Класс "mysqli" не найден в ...
Неустранимая ошибка: Вызов неопределенной функции mysql_connect () в ...

Информация о MySQL или MySQLi не появляется при использовании phpinfo () на странице PHP.

Однако, когда я вызываю PHP из командной строки, например

> php -r phpinfo()

Информация о MySQL и MySQLi действительно появляется в выходных данных.

Перезапуск IIS или ОС не дает дальнейшего эффекта. У меня есть только один файл php.ini, в корневом каталоге PHP.

Нужно ли как-то подключать MySQL к IIS, или есть другая проблема?

1 Ответ

5 голосов
/ 12 декабря 2008

Файл php.ini, используемый для использования PHP в командной строке, может отличаться от файла php.ini, используемого веб-сервером. Вы должны получить phpinfo() информацию, поместив небольшой PHP-скрипт под пространство документов вашего веб-сервера:

<?php
phpinfo();
?>

Откройте этот скрипт PHP с помощью браузера, чтобы запросить этот скрипт через URL-адрес вашего веб-сервера. Это скажет вам, что веб-сервер считает вашей конфигурацией PHP.

Также помните, что вам нужно перезапустить веб-сервер, чтобы изменения в php.ini вступили в силу. Он читает только php.ini при запуске веб-сервера.

Существует множество мест, где может храниться файл php.ini, используемый вашим экземпляром IIS. Подробнее см. http://php.net/manual/en/configuration.php или http://www.iis -aid.com / article / how_to_guides / where_php_ini_is_loaded_from .

Посмотрите на вывод phpinfo() при просмотре в браузере и найдите пункт «Загруженный файл конфигурации».

...