За последние 24 часа нас посетил 22031 программист и 1116 роботов. Сейчас ищут 770 программистов ...

Подключение MySQL в установленную связку Apache+php5+mysql

Тема в разделе "Установка PHP", создана пользователем 440Hz, 8 сен 2006.

  1. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    очень часто вознивает вопрос о том, что не подключен MySQL. Для этого надо:

    1. в файл конфига апача httpd.conf включить строчку:
    PHPIniDir "c:/php/"

    2. в файле php.ini, который находится по адресу указанному выше раскомментировать (убрать точку с запятой вначале)
    ;extension=php_mysql.dll

    3. перезапустить апач.
     
  2. Mavir

    Mavir Guest

    2.5. Добавить к переменной окружения PATH путь к файлу libmySQL.dll и перегрузиться.
     
  3. Joshuan

    Joshuan Активный пользователь

    С нами с:
    17 сен 2006
    Сообщения:
    1
    Симпатии:
    0
    Адрес:
    Челябинск
    А как правильно прописать путь к библиотеке???
     
  4. Петр

    Петр Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    Указать extension_dir, где хранятся библиотеки через /, если *nix, и через \, если Windows. Но винда должна оба слеша поддерживать.
     
  5. Belegnar

    Belegnar Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    299
    Симпатии:
    0
    А еще лучше, положить libmySQL.dll в %WINDIR%\system32
     
  6. Mavir

    Mavir Guest

    Лучше не надо
    Правой кнопкой мыши на значке "Мой компьютер"->Свойства->Дополнительно->Переменные среды. Там ищи Path и дописывай свой путь
     
  7. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    именно так и НАДО!
     
  8. Davil

    Davil Guest

    Засорять системную папку не рекоммендуется по умолчанию...
     
  9. Anonymous

    Anonymous Guest

    Кстати, спорный вопрос. Винда сначала ищет dll-ки в system32 и только потом в PATH... миллисекунды, но теряются =)
    PS - так, для факта сообщил, не для спора )
     
  10. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    она ищет ОДИН раз. далее все кешируется. а сваливать все в одну кучу точно не надо. это уж точно по определению ...
     
  11. def

    def Активный пользователь

    С нами с:
    24 апр 2006
    Сообщения:
    230
    Симпатии:
    0
    Адрес:
    Питер
    прости, не ради спора, любопытно, а откуда ты в курсе что и как ищет винда ? ;)
     
  12. Anonymous

    Anonymous Guest

    Не помню... в мануале каком то натыкался.=)
     
  13. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда

    система (пох какая) ищет там, где ей указано. к примеру в МОЕЙ винде указано:

    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\Program Files\ATI Technologies\ATI Control Panel;d:\php;d:\php\dlls;d:\php\extensions\;

    потому она и ищет изначально в system32, а не потому, что папка "системная"
     
  14. Anonymous

    Anonymous Guest

    Хм. А если из PATH убрать %SystemRoot%\system32; - щас попробую... =)
     
  15. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Горбунов Олег

    ну на самом деле все немного сложнее, т.к. еще под виндой подключается реестр, но по сути так и есть

    p.s. не стал бы я system32 трогать ... гыгыгы
     
  16. Anonymous

    Anonymous Guest

    Ну я же:
    =)
     
  17. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    спора нет

    =)
     
  18. def

    def Активный пользователь

    С нами с:
    24 апр 2006
    Сообщения:
    230
    Симпатии:
    0
    Адрес:
    Питер
    хочешь сказать ос ищет только в path ? правда . обычно в path.
    да, наверное, так -)

    смутно помню, что . в начале (вернее сначала ищется по текущему pwd, а потом path. может, вру %)
    если так, тогда эту несчастную dll проще в корневой апача пихнуть.

    запутался :)
     
  19. Anonymous

    Anonymous Guest

    Ага! Уточнил у наших системщиков, они мне заявили, что:
    Windows ищет DLL в следующих местах:
    1.c:\windows
    2.c:\windows\system32
    3.в текущем каталоге, в каталоге с прогой, а также во всех каталогах, которые прописаны в переменой среды PATH.

    Но похоже, что это тоже вполне может быть действие PATH... Видимо, придется таки провести эксперимент на домашней машине.
     
  20. Anonymous

    Anonymous Guest

    Спросил у Яндкса, нашел вот что:
    http://myriadsoftware.al.ru/rus/documen ... cle02.html
    Блиц-вопрос: если 16-разрядная Windows-программа вызывает функцию Load-LibraryO, то в каком месте 16-разрядная Windows ищет требуемый DLL-файл? Не буду зря скромничать и томить вас ожиданием ответа. Полный порядок каталогов для поиска таков:
    Текущий каталог.
    Главный каталог Windows (например, C:\WINDOWS).
    Системный каталог Windows (например, C:\WINDOWS\SYSTEM).
    Каталог, в котором находится исполняемый файл программы.
    Каталоги, перечисленные в переменной окружения PATH.
    Каталоги, доступные по сети.

    Обратите внимание на то, что я явно указал 16-разрядную программу и 16-разрядную версию Windows. Для 32-разрядной программы и 32-разрядной версии Windows правильный ответ немножко отличается:

    Каталог, в котором находится исполняемый файл программы.
    Текущий каталог.
    32-разрядный системный каталог Windows.
    16-разрядный системный каталог Windows.
    Главный каталог Windows.
    Каталоги, перечисленные в переменной окружения PATH.

    И это еще не все отличия — Windows есть Windows: когда Windows NT ищет 16-разрядную DLL, она проверяет 32-разрядный системный каталог (например, C:\WINDOWS\SYSTEM32) сразу после 16-разрядного системного каталога; когда Win32s ищет 32-разрядную DLL, она в первую очередь заглядывает в свой собственный домашний каталог, а потом уже переходит к обычной последовательности поиска; a Windows 95 вообще предлагает использовать специальный ключ в реестре, который позволяет задать для каждого индивидуального 32-разрядного приложения свой собственный путь для поиска DLL-файлов, который будет проверяться перед проверкой каталогов, перечисленных в PATH.
     
  21. def

    def Активный пользователь

    С нами с:
    24 апр 2006
    Сообщения:
    230
    Симпатии:
    0
    Адрес:
    Питер
    во! не зря, все-таки, я такие dll-ки кидаю в каталог apache.
     
  22. NY

    NY Активный пользователь

    С нами с:
    9 окт 2006
    Сообщения:
    4
    Симпатии:
    0
    Адрес:
    newyork
    delayu kak v instrykcii:



    папке (c:\Program Files\Apache Group\Apache2\htdocs\test) создайте файл index2.php и скопируйте в него следующий код :
    <?php
    ..... bla bla bla ..... ?>
    Далее, в браузере вводим следующее : http://127.0.0.1/test/index2.php


    no v браузере otobrazaetsya sledyshee:

    Current PHP version: 5.1.4

    chto sdelat' chtob vse rabotalo
    parol menyal na svoi
     
  23. NY

    NY Активный пользователь

    С нами с:
    9 окт 2006
    Сообщения:
    4
    Симпатии:
    0
    Адрес:
    newyork
    i need help
     
  24. Mavir

    Mavir Guest

    Ничего не понял. Как это в файле пишется "bla bla bla", а выводится "Current PHP version: 5.1.4"? ;)

    Хоть бы код привел, а то, например, я эту инструкцию в глаза не видел.
     
  25. NY

    NY Активный пользователь

    С нами с:
    9 окт 2006
    Сообщения:
    4
    Симпатии:
    0
    Адрес:
    newyork
    vot kod:

    <?php
    print "Current PHP version: <b> ". phpversion() ."</b>";


    /*
    В этой строчке измените пароль доступа к mysql НА ТОТ, КОТОРЫЙ ВЫ ВВОДИЛИ ПРИ УСТАНОВКЕ MYSQL!!!
    $link = mysql_connect("localhost", "root","YOURPASSWORD") or die("Could not connect");
    */


    $link = mysql_connect("localhost", "root","YOURPASSWORD") or die("Could not connect");
    if( !$link ) die( mysql_error() );

    $db_list = mysql_list_dbs($link);

    while ($row = mysql_fetch_object($db_list))
    {
    echo "<h3>Database \"".$row->Database."\"</h3>\n";
    $result = mysql_list_tables($row->Database);

    if(!$result) die( "DB Error, could not list tables\n MySQL Error: ".mysql_error() );
    else {
    while ($row = mysql_fetch_row($result))
    print "Table: $row[0]<br>";
    mysql_free_result($result);
    }
    }
    ?>

    a bla bla bla eto tipa mnogotochi