У меня есть 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.