Я только что установил Apache 2.2.17, PHP 5.2.14 и MySQL 5.1.51 в Windows XP. Apache работает и правильно загружает PHP, но когда я пытаюсь подключиться к MySQL, я получаю «Неустранимая ошибка: вызов неопределенной функции mysql_connect ()». После некоторого поиска в Google я обнаружил, что мне нужно загрузить расширение php_mysql.dll, для которого требуется libmysql.dll. Я нашел файл libmysql.dll в дистрибутиве MySQL, но нигде нет php_mysql.dll.
Почему он не включен в PHP или MySQL? Где я могу найти его?
MySQL больше не включен по умолчанию, поэтому DLL php_mysql.dll должна быть включена внутри php.ini. Кроме того, PHP необходим доступ к клиентской библиотеке MySQL. Файл с именем libmysql.dll включен в дистрибутив Windows PHP, и для того, чтобы PHP мог взаимодействовать с MySQL, этот файл должен быть доступен в системе Windows PATH. Для получения информации о том, как это сделать, см. FAQ под названием «Как добавить мой каталог PHP в PATH в Windows». Хотя копирование libmysql.dll в системный каталог Windows также работает (поскольку системный каталог по умолчанию находится в системном каталоге PATH), это не рекомендуется.
Файл http://windows.php.net/downloads/releases/php-5.2.14-Win32-VC6-x86.zip как загружено с http://windows.php.net/download/ включает php_mysql.dll. Он находится в подкаталоге "ext".
Вам нужно будет переименовать php.ini-recommended
к php.ini
. Затем отредактируйте php.ini
и убедитесь, что extension_dir
указывает на правильный каталог, то есть тот, который содержит php_mysql.dll, например c:\php\ext
. Также ищите строку ;extension=php_mysql.dll
и раскомментируйте его, чтобы включить расширение.
Наконец, файл libmysql.dll
должен быть доступен в системе Windows PATH. Самый простой способ добиться этого - добавление каталога, в который вы установили PHP, в ваш PATH.
Не забудьте перезапустить Apache после внесения изменений в php.ini. Надеюсь это поможет!