mysql не включен в phpinfo () php 5.3.1 - PullRequest
       7

mysql не включен в phpinfo () php 5.3.1

3 голосов
/ 04 февраля 2010

У меня на Vista установлены apache 2.2.14, php 5.3.1 и mysql 5.1.43. Я пытаюсь с 2 дней, чтобы настроить php, чтобы включить mysql на phpinfo ().

  1. Я изменил php.ini, чтобы расширение_dir = "c: \ php \ ext"
  2. изменил расширение как расширение = "php_mysql.dll"
  3. добавил «c: \ php» в переменную окружения «PATH» и перезапустил перспективу.

после многих попыток поместить php.ini, php_mysql.dll и libmysql.dll в диск c и / или c: / windows и / или c: / windows / system32 теперь у меня нет вариантов !!

Я перезагружаю apache после каждой модификации. Я использовал libmysql.dll, присутствующий в установке mysql и более старой версии php, так как php 5.3.1 не имеет libmysql.dll ...

Любая помощь будет оценена. Заранее спасибо.

Ответы [ 5 ]

1 голос
/ 04 февраля 2010

Вам нужно отредактировать php.ini и добавить / раскомментировать строку для импорта расширения php_mysql.dll. Найдите ;extention=php_mysql.dll и удалите ;. Если вы найдете эту строку без ; перед ней, у вас есть другая проблема. Если вы не нашли эту строку, добавьте ее без ;.

Вы также можете попытаться поставить \ после пути расширения: extension_dir="c:\php\ext\"

0 голосов
/ 12 октября 2014

Большое спасибо пользователю, который сказал, что мы должны переместить файл php.ini в папку /bin сервера Apache. это решает ту же проблему после более чем одной недели попыток неудачных методов.

Конечно, мы должны раскомментировать в файле две строки;

;extension=php_mysql.dll
;extensin_dir="ext"

удалив точку с запятой (;) и указав полный путь для библиотеки расширений 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
0 голосов
/ 07 апреля 2013

Обновление от 7 апреля 2013 г. Установлена ​​Windows 8 на i7 Quad, HT 8, 3,62 ГГц, 12GBRAM. Установлена ​​последняя версия MySQL, она работает нормально.Установил последнюю версию веб-сервера Apache, установил его правильную работу.Установил последнюю версию PHP, получил правильную работу.MySQL не может подключиться к базе данных.Сообщение об ошибке было «mysql_connect function undefined».Я скопировал измененный файл php.ini в «C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin» и перезапустил веб-сервер Apache ... затем все это волшебным образом заработало. !!!Я надеюсь, что это поможет кому-то настроить собственный веб-сервер Windows MySQL / PHP.

0 голосов
/ 04 февраля 2010

Убедитесь, что вы редактировали правильный php.ini. В случае сомнений

<?php echo 'ini= "', get_cfg_var('cfg_file_path'), '"';

скажет вам, какой из них используется вашей установкой php.

Возможно, php попытался загрузить расширение php-mysql и потерпел неудачу из-за дополнительных зависимостей. Это может привести к ошибке при запуске в error.log .

Какой php-билд вы используете? Расширение php-mysql может использовать libmysql.dll в качестве транспортного уровня или новый модуль mysqlnd (собственный драйвер MySQL) . Вы добавили c: \ php в PATH. Обычно это делается для того, чтобы позволить Windows найти libmysql.dll (хотя это и не обязательно, есть и другие методы, которые я предпочитаю). Если php-mysql зависит от libmysql.dll и windows не может его найти, загрузка php_mysql.dll завершится неудачей.
Но если вы используете сборку php.net php 5.3.1, модуль mysql использует mysqlnd:

Установка в Windows

В официальных дистрибутивах PHP начиная с версии 5.3 MySQL Native Driver включен по умолчанию

Этот модуль встроен в сборку php.net. Вы можете проверить это, вызвав php -m в командной оболочке. Он печатает все встроенные модули.
0 голосов
/ 04 февраля 2010

поместите php_mysql.dll в каталог "c: \ php \ ext" (и оставьте комментарий extension="php_mysql.dll" без комментариев [без ведущего ;])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...