The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Использование 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_mssq... весь текст скрыт [показать] [показать ветку]
     
  • 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 присутст... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.20, Ink, 12:37, 14/07/2010 [^] [ответить] [смотреть все]  
  • +/
    Та же проблема Нашел в мануале PHP, что FreeTDS необходимо конфигурировать с оп... весь текст скрыт [показать]
     
  • 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, 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:      
    Заголовок:
    Текст:



    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList