Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
Перезагружаем apache, чтоб он увидел модуль.
Так, теперь самое интересное в этом деле, php у нас будет рабоать через прослойку в виде freetds. Почитать про это дело можно тут. Ставим.
|
Теперь идем в /usr/local/etc и правим конфиг freetds
|
Приводим его к подобному виду:
|
У меня два sql сервера к которым необходимо подключаться, по этому они оба у меня тут описаны. Да, оба сервера должны иметь рабочую A запись в dns, иначе будут трудности.
Так, все поставили, можно начинать проверять на работоспособность все это дело.
Для начала заведем в домене пользователя под которым будет происходить коннект к базам, (почему в домене? да по тому что у меня в ms sql авторизация только по домену, внутренняя авторизация отключена), даем ему права на нужные базы, и команды. Дальше я написал маленький скрипт на php чтоб проверить работоспособность всего этого.
Вот скрипт: (не пинайте если чего не так, я не сильно люблю php, так что как мог, так и написал)
|
Ну и можем его выполнить в консоли или через web, я через web выполнил, в браузере появился результат запроса. Вот как бы и все :)
размещено: 2008-05-04,
последнее обновление: 2008-05-04,
автор: Abigor
max, 2008-05-04 в 16:37:13
замечательная статья
Sash, 2008-05-04 в 19:56:09
ой, цпасибА! ) как раз воремя.
mssql, 2008-05-20 в 16:01:00
Супер! Прямо вовремя!
MelkorBSD, 2008-05-28 в 19:17:31
Хочется особо отметить вот этот параметр:
text size = 64512
Если Ваш PHP-скрипт вытаскивает из базы что-то из text/image поля, то он вытащит оттуда не более этого значения.
Поэтому рекомендую об этом подумать заранее и в случае необходимости выставить тут число чуть побольше (можно до 4G).
Vitaly, 2008-06-19 в 21:55:20
while ($row = mssql_fetch_assoc($result))
{
echo serialize($row)."\r\n";
}
/*
Мне кажется так получше будет
ну и еще до кучи можно проверить валидность $result
*/
stalex, 2009-03-19 в 15:04:29
спасибо !
Leech, 2009-04-09 в 21:28:15
Супер !!! Все пашет как часы.
Огромное спасибо. Нигде не видел лучшего объяснения.
Главное все на свежей версии фряхи :)
С Уважением Leech
Seltsam, 2009-11-10 в 14:06:54
Работает без вопросов с MSSQL 2000 - это Вы бы уточнили в статье =)
Пробовали с MSSQL-2005 - необходимо во freetds.conf для сервера указывать порт 1168, на 1433 сам sql-сервер посылает нафиг.
Сейчас столкнулись с траблой во фришке 7.2 с обновлёнными портами (php-5.2.11) - коннект к серверу есть (согласно файрвола пакеты бегают), а вот в логах апача говорится:
HP Warning: mssql_connect() [<a href='function.mssql-connect'>function.mssql-connect</a>]: Unable to connect to server: srv_db1 in /usr/local/www/webinfo/data/1ca/main.php on line 25, referer: http://webinfo/1ca/
и всё... в логах sql-сервака ничего не поймали, какбуд-то коннекта никакого нет, хотя тем же netstat -na коннект есть...
что подскажете? форум?
abigor, 2009-11-10 в 18:21:23
2 Seltsam если вы внимательно читали, то в самом начале, сказано, что все это дело делалось с MSSQL 2005 по этому конфиг выложен рабочий.
До php 5.2.11 только предстоит обновляться. Тут ни чего не скажу пока....
Seltsam, 2009-11-10 в 18:58:33
Я сильно извиняюсь - заметил, только пост уже изменить нельзя было.
Боролся сегодня с программером с этой проблемой, в итоге - поменяли в конфиге freetds.conf для необходимого сервера tds version с 8.0 на 7.2 и потом программер ещё что-то там с кодировками возился - sql-сервер не понимал почему-то utf-8. эту кодировку необходимо было юзать программеру для простоты чего-то там. в общем - вроде заработало.
а вообще - изначально такая связка php+mssql работало на freebsd-6.2, php-5.2.9. только там ещё использовали pool.conf и [mypool] в freetds.conf.
походу что-то в php-5.2.11 по поводу freetds изменилось, т.к. если в странице на php напрямую указывать сервер и параметры подключения, то работало тоже без проблем, ну только опять там с кодировками надо было что-то делать программеру.
но за инфу - спасибо по любому =)
всё равно идеального ничего нет, а грабли - вечная вещь =)
abigor, 2009-11-10 в 19:40:03
:) хорошо все что хорошо кончается
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [11 шт.]