PHP, MySQL на IIS - MySQL не загружается при обслуживании страниц

У меня, насколько я могу, есть возможность настроить 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 или есть другая проблема?

12.12.2008 01:21:47
1 ОТВЕТ
РЕШЕНИЕ

Файл 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/articles/how_to_guides/where_php_ini_is_loaded_from .

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

5
12.12.2008 01:54:23
Да, я регулярно перезагружал сервер. Проблема в том, что использование phpinfo (), как указано выше, возвращает результаты, отличные от командной строки - и поэтому MySQL работает из командной строки PHP, а не с веб-страниц. У меня есть только один файл php.ini, в корневом каталоге PHP.
Joel Rein 12.12.2008 01:49:06
Да, проверка местоположения файла INI сделала это - оказывается, он не нашел его. Я поместил копию в C: \ Windows, и она сработала :)
Joel Rein 12.12.2008 03:49:43