The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Использование MSSQL совместно с PHP под Linux (sql php linux database)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: sql, php, linux, database,  (найти похожие документы)
From: Yukko <yukko#bigmir.net> Newsgroups: email Date: Mon, 26 Dec 2003 10:01:37 +0000 (UTC) Subject: Использование MSSQL совместно с PHP под Linux MsSSL + PHP miniHOWTO ------------------- Стала задача использовать базу данных на MsSQL обращаясь к ней на РНР из-под Linux. Что нужно? 1. Собственно MsSQL (адрес машины 192.168.0.4, порт 1433, у меня версия 2000) 2. PHP в исходных кодах 3. библиотека freetds, качать отсюда ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-0.61.tgz 4. Linux на другой машине Распаковываем freetds заходим в каталог и делаем ./configure make make install Можно использовать опции для ./configure, но это не обязательно, раньше он требовал установки --with-prefix=/usr/local/freetds , но сейчас префикс по-умолчанию стоит /usr/local и это правильно! После компиляции идем в /usr/local/etc и находим файл freetds.conf , в ранних версиях там был файл interfaces, но все его настройки переехали в freetds.conf, библиотека, которая необходима для подключения к MsSQL лежит в /usr/local/lib Правим freetds.conf, Вписываем туда такие строки: # Microsoft SQL Server 2000 configuration [MyServer2000] host = 192.168.0.4 #адрес сервера port = 1433 #порт сервера tds version = 8.0 #версия протокола tds Идем в директорию с исходниками PHP. Пишем: ./configure --with-mssql=/usr/local (далее идут другие опции) make make install На РНР пишем: Код: <? $con = mssql_connect ("192.168.0.4:1433", "DbReader", "dbreadersql"); echo $con; ?> Знающие люди говорят, что с последней версией freetds надо коннектиться указав не 192.168.0.4:1433, а указав номер порта через запятую, но я такой особенности не заметил более того вариант 192.168.0.4,1433 не катит (выдает сообщение об ошибке). Стоит отметить, что при помощи библиотеки tds, можна также коннектиться к Sybase, но я этого не пробовал и рассказывать не буду.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, arruah (?), 15:31, 29/06/2003 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    одно время как то я мучался с этим freedts полезная вещь..
     
  • 1.2, Bakulenko (?), 08:01, 30/10/2003 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А под FreeBSD работать будет?
     
     
  • 2.3, Yukko (?), 16:39, 19/11/2003 [^] [^^] [^^^] [ответить]  
  • +/
    Да будет!
     

  • 1.4, Yukko (?), 16:45, 19/11/2003 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Знающие люди говорят, что с последней версией
    >freetds надо коннектиться
    >указав не 192.168.0.4:1433, а указав номер порта
    >через запятую, но я
    >такой особенности не заметил  более того
    >вариант  192.168.0.4,1433 не
    >катит (выдает сообщение об ошибке).
    При использовании Freetds надо коннектиться вот так:
    mssql_connect ("192.168.0.7:1433", "DbReader", "dbreadersql");
    /используем двоеточие/
    но при работе на Windows коннектимся:
    mssql_connect ("192.168.0.7,1433", "DbReader", "dbreadersql");
    /используем запятую/
    Почему так? Не скажу :)
     
  • 1.5, Sibar (?), 11:19, 27/11/2003 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сделал все согласео статье,при выполнении выдает ошибку
    Call to undefined function: mssql_connect()
     
     
  • 2.6, Yukko (?), 13:06, 05/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Не стал правильно freetds, может, не видит переменные окружения.
     
  • 2.7, Vitaliy (??), 11:21, 16/09/2004 [^] [^^] [^^^] [ответить]  
  • +/
    В файле PHP.ini, в разделе "Extensions" раскоментируй строку:
    extension=php_mssql.dll //для Windows
    extension=php_mssql.so  // для UNIX
     

  • 1.8, RiK (?), 12:13, 24/11/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    произвел вышеописанное.....freetds стал нормально
    php  собрался якобы с поддержкой mssql, mysql ну и прочими вещами что мне требовались в итоге работает все кроме mssql ( freetds сконфигурирован так как было описанно, но при попытке подключения к mssql серверу шлет нах( как оказалось отсутствует библиотека php_mssql.so как устранить проблему, и хде взять эту либу?
     
     
  • 2.9, SergeyA (?), 15:43, 19/01/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Таже проблема.
    Причём до выполнения вышеописанных действий php_mssql.so присутствовала и все нужные параметры в php.ini присутствовали но не работало, а после пересборки пакетов стало всего меньше в том числе и php_mssql.so исчез.

    Чо делать не знаю. Тем более что мало разбираюсь в пересборках.

    Если Вы решили эту проблему ответьте плиз.

     
     
  • 3.20, Ink (?), 12:37, 14/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Та же проблема. Нашел в мануале PHP, что FreeTDS необходимо конфигурировать с опцией --enable-msdblib, сделал но после переустановки библиотеки так и не нашел. Проблема осталась!
     

  • 1.10, Peace (?), 08:11, 25/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уже все сделал до прочтения этой статьи как оказалось сделал правильно, все как тут описано.
    Но не конектится к mssql
    <?
    $sql = mssql_connect ('80.241.32.66:1433', 'web', 'ivcsecnes') or die ("Could not connect to database: ".mssql_get_last_message());
    ?>
    Этот код выдает сообщение Could not connect to database:
    и больше ничего.
    при error_reporting(E_ALL) пишет что: Unable to connect to server: 80.241.32.66:1433
     
  • 1.11, Purba (?), 19:22, 27/01/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    при error_reporting(E_ALL) пишет что: Unable to connect to server: 80.241.32.66:1433

    А это потому, что указывать надо не адрес сервера, а имя, которым ты этот сервер описываешь в freetds.conf.

    [mssql]
    host = 80.241.32.66
    port = 1433
    tds version = 8.0
    mssql_connect ('mssql', 'web', 'ivcsecnes')

     
     
  • 2.21, Ink (?), 12:40, 14/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >при error_reporting(E_ALL) пишет что: Unable to connect to server: 80.241.32.66:1433
    >
    > А это потому, что указывать надо не адрес сервера, а имя,
    >которым ты этот сервер описываешь в freetds.conf.
    >
    >[mssql]
    > host = 80.241.32.66
    > port = 1433
    > tds version = 8.0
    >mssql_connect ('mssql', 'web', 'ivcsecnes')

    Не помогло, хоть ip, хоть имя, с портом или без порта. Шас попробую переменные окружения прописать к указано здесь http://www.php.net/manual/en/mssql.installation.php


     

  • 1.12, chama (ok), 08:34, 10/11/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сделал как здесь описано. Работает(на FreeBSD).
    Но при попытке прочитать названия таблиц из базы выдает Warning: mssql_query() [function.mssql-query]: WARNING! Some character(s) could not be converted into client's character set. Unconverted bytes were changed to question marks ('?'). (severity 16) in /usr/local/www/data-dist/applications/mssql.php on line 8.
    Делаю следующий запрос: select * from SYSOBJECTS where TYPE='U' order by NAME
     
     
  • 2.16, vsh (??), 17:29, 18/09/2006 [^] [^^] [^^^] [ответить]  
  • +/
    [msserver]
            host = 192.168.0.2
            port = 1433
            client charset=KOI8-R
            tds version = 8.0

    система FreeBSD локаль KOI8-R

     
     
  • 3.17, Зося (?), 18:58, 23/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    client charset=KOI8-R

    а на Linux какой должен быть этот client charset=?
    чтобы небыло:
    Warning: mssql_query() [function.mssql-query]: WARNING! Some character(s) could not be converted into client's character set. Unconverted bytes were changed to question marks ('?'). (severity 16)

     
     
  • 4.18, Зося (?), 11:21, 24/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    для Linux RedHad 7 работает:
    [msserver]
            host = 192.168.0.2
            port = 1433
            client charset=KOI8-R
            tds version = 8.0

    можно прописівать другие альясы серверов MsSQL
    [msserver2]
            host = 192.168.3.3
            port = 1433
            client charset=KOI8-R
            tds version = 8.0

     

  • 1.13, Trek (??), 21:50, 15/09/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    День добрый.
    система СЛЕС 10, Мускул 5 из дистриба, PHP5 из дистриба, PHP5-MySQL из дистриба.

    PHP Fatal error:  Call to undefined function mssql_connect()

    freetds встал отлично, настроил так как описано выдает ошибку.... но как не странно, найти php_mssql.so не могу у себя

     
  • 1.14, Trek (??), 22:24, 15/09/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    /usr/local/bin/tsql -S mssql -H 192.168.1.250 -p 1433 -U sa -P sa
    locale is "LC_CTYPE=ru_RU.UTF-8;LC_NUMERIC=C;LC_TIME=C;LC_COLLATE=C;LC_MONETARY=C;LC_MESSAGES=C;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;LC_IDENTIFICATION=C"
    locale charset is "UTF-8"
    There was a problem connecting to the server
     
  • 1.15, Trek (??), 22:25, 15/09/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    /usr/local/bin/tsql -C
    Compile-time settings (established with the "configure" script):
                               Version: freetds v0.64
        MS db-lib source compatibility: no
           Sybase binary compatibility: unknown
                         Thread safety: yes
                         iconv library: yes
                           TDS version: 5.0
                                 iODBC: no
                              unixodbc: no
     
  • 1.19, Archy (?), 12:27, 26/12/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чего-то я не понимаю. нафига php_mssql.so если используете freetds? и нафига freetds если подключили php_mssql.so? это вроде как самостоятельные библиотеки.
     
     
  • 2.22, Ink (?), 12:58, 14/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >чего-то я не понимаю. нафига php_mssql.so если используете freetds? и нафига freetds
    >если подключили php_mssql.so? это вроде как самостоятельные библиотеки.

    Да в том-то все и дело, что нет ни php_mssql.so, ни mssqldb.h в директориях freetds :( Хотя для Sybase - sybdb.h и libsybdb.so, libsybdb.a на месте!!!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру