У меня есть apache 2.2.14, php 5.3.1 и mysql 5.1.43, установленные на Vista. Я пытаюсь с 2-х дней настроить php для включения mysql на phpinfo ().
после того, как вы попробовали много комбинаций размещения php.ini, php_mysql.dll и libmysql.dll в c-диске и / или c: / windows и / или c: / windows / system32, теперь у меня нет параметров !!
Я перезапускаю apache после каждой модификации. Я использовал libmysql.dll, присутствующий в установке mysql, и версию более старой версии php, поскольку php 5.3.1 не имеет libmysql.dll …
Любая помощь будет оценена. Заранее спасибо.
Вы должны отредактировать php.ini и добавить / раскомментировать строку для импорта расширения php_mysql.dll . Найдите ;extention=php_mysql.dll и удалите ; , Если вы найдете эту строку без ; перед ним у вас другая проблема. Если вы не найдете эту строку, добавьте ее без ; ,
Вы также можете попробовать поместить путь \ после пути extension_dir="c:\php\ext\" : extension_dir="c:\php\ext\"
поместите php_mysql.dll в каталог «c: \ php \ ext» (и сохраните extension="php_mysql.dll" без extension="php_mysql.dll" [без extension="php_mysql.dll" ; ])
Убедитесь, что вы отредактировали правильный php.ini. В случае сомнений
<?php echo 'ini= "', get_cfg_var('cfg_file_path'), '"';
сообщит вам, какая из них используется вашей установкой php.
Возможно, php попытался загрузить расширение php-mysql и не удалось из-за дополнительных зависимостей. Это приведет к записи ошибки запуска в файле error.log .
Какой php-build вы используете? Расширение php-mysql может использовать libmysql.dll в качестве транспортного уровня или новый модуль mysqlnd (MySQL native driver) . Вы добавили c: \ php в PATH. Обычно это делается для того, чтобы окна находили libmysql.dll (хотя это необязательно, есть другие методы, которые я предпочитаю). Если php-mysql зависит от libmysql.dll, и Windows не может найти его, то загрузка php_mysql.dll завершится ошибкой.
Но если вы используете сборку php.net php 5.3.1, модуль mysql использует mysqlnd:
Установка в Windows
В официальных дистрибутивах PHP начиная с 5.3 года драйвер MySQL Native включен по умолчанию Этот модуль встроен в сборку php.net. Вы можете проверить это, вызвав php -m в командной оболочке. Он печатает все встроенные модули.
Большое спасибо пользователю, который сказал, что нам нужно переместить файл php.ini в папку /bin сервера Apache. он решает мне ту же проблему после более чем одной недели попыток неудачных методов.
Конечно, мы должны раскомментировать в файле две строки;
;extension=php_mysql.dll ;extensin_dir="ext"
удалив php_mysql.dll ( ; ) и указав полный путь для библиотеки расширений php_mysql.dll а не ext следующим образом
extension=php_mysql.dll extensin_dir="c:\Apache22\php53\ext"
Для меня я установил Apache в папку c:\Apache22 и PHP в папке c:\Apache22\php53 , вы должны использовать свои собственные значения.
ПРИМЕЧАНИЕ . Поскольку функции mysql_ такие как mysql_connect() устаревают в PHP 5.5 и выше, рекомендуется также включить библиотеку php_mysqli.dll для использования таких функций, как mysqli_ (улучшенная версия функций mysql_ ). Для этого вам просто нужно раскомментировать строку:
;extension=php_mysqli.dll
в файле PHP.ini следующим образом:
extension=php_mysqli.dll
Обновление 7 апреля 2013 года. Установлена Windows 8 на i7 Quad, HT 8, 3.62GHz, 12GBRAM .. Установлена последняя версия MySQL, она работает нормально. Установлена последняя версия Apache Web Server, она работает нормально. Установлена последняя версия PHP, она работает нормально. MySQL не удалось подключиться к базе данных. Сообщение об ошибке было «функция mysql_connect undefined». Я скопировал измененный файл php.ini в «C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin" и перезапустил веб-сервер Apache … тогда все это волшебным образом начало работать. !!! Надеюсь, это поможет кому-то создать собственный веб-сервер Windows MySQL / PHP.