За последние 24 часа нас посетил 16621 программист и 1627 роботов. Сейчас ищет 1321 программист ...

Call to undefined function mysql_connect()

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

  1. meXan1k

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

    С нами с:
    24 ноя 2008
    Сообщения:
    6
    Симпатии:
    0
    Ну, чем раньше нарвёшься, тем раньше разберёшься.
    Особых проблем, кроме указанных (пока) не наблюдаю.

    ps: да он самый
     
  2. MaxxSoftware

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

    С нами с:
    24 ноя 2008
    Сообщения:
    4
    Симпатии:
    0
    А с IIS кто ставил?
    Проблема такая -
    1. extension=php_mysql.dll раскоментирован
    2. extension_dir = "C:/php/ext/"
    include_path = "c:/php/ext/" - все верно
    3.dll лежит там на месте
    4. Path - прописан тудаже в c:\php\ext\
    5. ini лежит в c:\php\php.ini
    6. phpinfo() выдает
    Configuration File (php.ini) Path C:\WINDOWS
    Loaded Configuration File C:\php\php.ini

    и не слова о модулях mysql ((
    Хотя еси в консоли пишу php -m - модуль там есть в списке
    правда к IIS подключено как исапи модуль

    Версии: php 5.2.6, mysql-5.0.67

    для подстраховки libmysql.dll и php_mysql.dll и php.ini положил в windows и system32


    ошибка: Call to undefined function mysql_connect()
    что я делаю не так?
     
  3. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    PHPIniDir прописан в конфиге апача?
     
  4. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    =)
     
  5. MaxxSoftware

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

    С нами с:
    24 ноя 2008
    Сообщения:
    4
    Симпатии:
    0
    :) лениво ставить апач для того шоб поправить его конфигу что б заработал IIS Ж)))
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Мдя, просто прочитал из сообщения только текст ошибки )))
    Но это вариант решения проблемы! :D
     
  7. MaxxSoftware

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

    С нами с:
    24 ноя 2008
    Сообщения:
    4
    Симпатии:
    0
    Проблему решил, оказывается, как я понял (хотя я могу и ошибатся), IIS кэширует isapi модули, тоесть мои изминения в набор подключеных к рнр модулей никак не отразились на веб сервере, переставил сервак - все заработало )

    после установки попробовал снова подключить библиотеку другую - опять не подключалась, отключил кэширование модуля в настройках сервера - подключилась )
     
  8. Ну если проблемы будут - ты винду переустанови...
     
  9. MaxxSoftware

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

    С нами с:
    24 ноя 2008
    Сообщения:
    4
    Симпатии:
    0
    флоппик
    Переставлял потому что не знал в чем проблема в принципе, методом тыка определил шо таки в кэшировании
     
  10. Mutant

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

    С нами с:
    20 янв 2009
    Сообщения:
    3
    Симпатии:
    0
    Всем привет. перечитал всю тему, не понял один ньюанс, PATH, вопрос на эту тему внизу поста.

    Собственно Fatal error: Call to undefined function mysql_connect() in C:\www\htdocs\test.php on line 2

    ОС: Windows Vista

    Директории:
    C:\php
    C:\Program Files (x86)\Apache Software Foundation\Apache2.2
    C:\MySQL Server 5.1

    Версии:
    PHP -5.2.8
    MySQL - mysql-5.1.30-winx64
    Apache - 2.2.11

    phpinfo():
    Configuration File (php.ini) Path C:\Windows
    Loaded Configuration File C:\php\php.ini
    extension_dir C:\php\ext

    php.ini:
    extension_dir = "C:\php\ext"
    extension=php_mysql.dll (в C:\php\ext она есть)

    httpd.conf:
    PHPIniDir "C:\php"
    AddType application/x-httpd-php .php
    LoadModule php5_module "C:/php/php5apache2_2.dll"

    libmysql.dll лежит только в system32


    куда это писать?
     
  11. unicross

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

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    Меняйте слэши в пути на
    Код (Text):
    1. extension_dir = "C:/php/ext"
    2. PHPIniDir "C:/php"
    В противном случае получите дополнительную головную боль...

    Эта библиотека должна быть не в system32, а в папке C:\php. К этой папке должен быть прописан путь в системной переменной PATH.
    Изменение переменной PATH подробно описано здесь http://php.ru/install/
     
  12. lesikov

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

    С нами с:
    4 фев 2009
    Сообщения:
    3
    Симпатии:
    0
    Адрес:
    Россия, Белгород
    У меня та же проблема - "Fatal error: Call to undefined function mysql_connect() in ..."

    Сам PHP все-таки заработал, когда я разобрался с кавычками и слешами в LoadModule.

    Windows - Vista

    Apache - 2.2.11
    PHP 5.2.8 (версия в архиве)
    MySQL - 5.1.30

    Все устанавливал в одну папку:
    c:\usr\php_5_2_8
    c:\usr\mysql
    c:\usr\Apache2

    httpd.conf:
    PHPIniDir прописал, куда нужно, LoadModule тоже, AddType прописал

    php.ini:
    скачал "правильный php.ini" с этого сайта, исправив пути.

    параметры:
    extension_dir = C:/usr/php5_2_8/ext

    extension=php_mysql.dll раскомментировал (также раскомментировал php_db.dll и несколько других).

    Вроде бы все нормально.

    Переменную среды прописал, так, чтобы ничего не копировать в System32 по мудрым советам сайта. Сам согласен с такой позицией.

    И все равно ничего не выходит.
    Apache после каждого эксперимента перезапускаю.

    Помогите пожалуйста.

    PS: тут кто-то говорил о кэшировании в IIS. А с Apache такого нет? а то и у меня может из-за этого проблемы?

    ------------------добавил--------------------
    Заработало.
    Не прописал системную переменную среды. В Висте оказывается разделяются переменные среды на системные и текущего пользователя. Кажется, в XP такого не было, потому и недосмотрел. Ну да ладно.
    Все равно спасибо этому порталу.
    В очередной раз наступаю на грабли "всезнания" :)
     
  13. V1T

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

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Установил всё как тут написано в установке, но устанавливал всё на диск F.
    В папку mysql установил mysql
    В паку PHP5 распаковал php
    В папку Apache2 поставился апатч

    Всё сделал как сказано и раскоментил extension=php_mysql.dll
    И указал путь extension_dir = "F:/php5/ext"
    И в системной переменной PATH пути: F:\php5\;F:\php5\ext\;
    И это вставил в httpd.conf
    # Подключение PHP, как модуля
    LoadModule php5_module F:/php5/php5apache2.dll
    AddType application/x-httpd-php .php
    PHPIniDir "F:/php5/"

    Всё равно:
    Fatal error: Call to undefined function mysql_connect() in F:\Apache2\htdocs\index2.php on line 11
    Меня смущает одна вещь, это то, что я нигде не указывал путь к папке, где лежит Mysql(у меня это F:\Mysql)
    Очень странно, что про это ничего не написано, это так и надо, или я что то не учёл?Спасибо
     
  14. unicross

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

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    Путь можно прописать только если хотите запускать утилиты из командной строки. Путь прописывается в переменной PATH в самом конце к папке bin.
    Для php важно чтобы MySQL работал на 3306 порту на путь ему начхать.

    F:\php5\ ставим в самое начало переменной PATH

    F:\php5\ext\ в помойку. Для этого существует директива extension_dir = "F:/php5/ext" в php.ini

    После изменений перезагрузите комп. Если не поможет 2 конфига мне в личку + укажите путь к файлам httpd.conf и php.ini + версия Windows + результат выполнения в командной строке команды SET.
     
  15. V1T

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

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Может быть я что то туплю, может mysql server следует запустить, если таково требуется где то? И ещё, я удалял и ставил по новому apache и mysql.
    Естественно, полностью после этого почистил диск F, в который устанавливал это всё.
    Создаётся ли что то в реестре или ещё где нибудь, какие то файлики, которые следует как то почистить, при переустановке компонентов? Или простое удаление через панель задач+очистка остатков в папке удаляет всё что было ранее?
     
  16. lesikov

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

    С нами с:
    4 фев 2009
    Сообщения:
    3
    Симпатии:
    0
    Адрес:
    Россия, Белгород
    Мастер конфигурирования mysql должен иметь возможность запускать сервер как службу Windows. В этом случае стоит лишь проверить, запущена ли служба.

    В начале у меня все заработало, когда я скопировал libmysql.dll в папку System32. В некоторых источниках я даже читал рекомендации скопировать файл php5ts.dll в System32. Попробовал разные комбинации и понял, что требуется только libmysql.dll. А раз не видел файла, значит не был прописан путь в переменной PATH.

    Проверь все же внимательно PATH. А команда SET тебе поможет увидеть, действительно ли прописаны пути в переменной.

    Как только я прописал путь - проблема решилась.

    А по поводу остатков в системе - так тут уже советовали удалить все лишние копии файлов конфигураций PHP и Apache. Для PHP я насчитал их у себя около 3-4 :).
     
  17. V1T

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

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Спасибо, всё получилось, и всё дело было в том что надо было пути к пхп на первое место поставить в PATH
    Особая благодарность unicross, который помог решить трабл :) Теперь буду познавать устройство сервера )
     
  18. lesikov

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

    С нами с:
    4 фев 2009
    Сообщения:
    3
    Симпатии:
    0
    Адрес:
    Россия, Белгород
    хм, а у меня в конце переменной PATH пути. и все равно работает.

    Ну, раз заработало - хорошо.
     
  19. unicross

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

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    Просто вы раньше ничего в System32 не кидали. Вот и работает.

    А вот этого советовать не следует!!! Не нужно засорять систему...
     
  20. Артём2009

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

    С нами с:
    19 фев 2009
    Сообщения:
    1
    Симпатии:
    0
    Всем привет!
    Такая проблема:
    Fatal error: Call to undefined function msql_fetch_object() in /home/artem/test/index2.php on line 10

    Так же ругается при вызове функции msql_fetch_array();

    НО! на msql_connect() не ругается и работает, в чем может быть проблема?
    Ось на серве *nix.
     
  21. unicross

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

    С нами с:
    14 янв 2009
    Сообщения:
    194
    Симпатии:
    0
    Может mysql_connect() ?
     
  22. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    или mssql_connect
     
  23. GP

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

    С нами с:
    29 мар 2009
    Сообщения:
    3
    Симпатии:
    0
    Адрес:
    Зеленоград
    вобщем-то всё то же...

    php.ini подхватывает правильный
    Configuration File (php.ini) Path C:\WINDOWS
    Loaded Configuration File C:\PHP5\php.ini

    PATH C:\php5\;C:\php5\EXT\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\MySQL\MySQL Server 5.0\bin

    ничего никуда не перепихивалось, всё лежит на месте, раскомменчено
    extension=php_mysql.dll
    extension_dir C:/PHP5/ext C:/PHP5/ext

    про мускуль нет и намёка в phpinfo(), однако php -m его выдает...

    винда sp3, если это на что-то влияет)
     
  24. 440Hz

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

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    апач перезапусти?
     
  25. 440Hz

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

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