(PHP+MSSQL) Как настроить PHP для работы с MS SQL

Hackboy
Дата: 31.07.2006 17:31:33
Всем привет!

Скажите, что необходимо для успешного подключения посредством PHP к СУБД MSSQL.

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

Вот что я сейчас сделал:
1) в php.ini раскоментировал строку extension=php_mssql.dll
Что ещё необходимо сделать?

Соединяться необходимо посредством драйвера ODBC?

Помогите пожалуйста!
*
Дата: 31.07.2006 19:20:28
Мануал уже читал? http://ru.php.net/MSSQL
The extension requires the MS SQL Client Tools to be installed on the system where PHP is installed. The Client Tools can be installed from the MS SQL Server CD or by copying ntwdblib.dll from \winnt\system32 on the server to \winnt\system32 on the PHP box. Copying ntwdblib.dll will only provide access. Configuration of the client will require installation of all the tools.
Из вопроса даже не ясно, установлен ли MSSQL-сервер и на той же машине, где отрабатывает php-скрипт, или на другой.
Hackboy
Дата: 01.08.2006 10:17:54
Привет!

Да, всё установлено на одной машине и MS SQL и PHP.

Что жн может быть такого?
JASterus
Дата: 01.08.2006 10:43:05
скопируй php_mssql.dll в системную директорию и перестартани апач.
дальше читай вслух и с выражением http://ru.php.net/MSSQL , если не помогло, читай заново.
*
Дата: 01.08.2006 11:50:26
... да и вообще http://phpfaq.ru/debug#show + http://php.net/phpinfo на предмет изучения наличия подключенного модуля и того, где лежит php.ini, который и нужно править...
Hackboy
Дата: 01.08.2006 17:11:37
Это всё хорошо, я прочитал и даже перевёл, может такому как я кому приготдиться инфа:


Эти функции дают доступ к БД MS SQL-сервера. Расширение MSSQL доступно только для систем Win32.

Это расширение требует, чтобы утилиты MS SQL Client Tools были установлены в той системе, где установлен PHP. Client Tools могут быть установлены с компакт-диска MS SQL Server или копированием ntwdblib.dll из директории \winnt\system32 на сервере в \winnt\system32 в боксе PHP. Копирование ntwdblib.dll даёт только доступ. Конфигурирование клиента потребует установки всех утилит.


Но у меня вопрос, скажите я нек совсем понимаю смысл слов касаемо копированием ntwdblib.dll из директории \winnt\system32 на сервере в \winnt\system32 в боксе PHP, то есть библиотека ntwdblib.dll должна находиться в дистрибутиве PHP?

Или как?

Кроме этого у меня всё же не получается соединиться с БД.

Скажите, какой правильно скрипт написать для правильного соединения и проверки соединения посредством PHP --> MS SQL?

Буду очень признателен.
*
Дата: 01.08.2006 18:34:24
Hackboy
Но у меня вопрос, скажите я нек совсем понимаю смысл слов касаемо копированием ntwdblib.dll из директории \winnt\system32 на сервере в \winnt\system32 в боксе PHP, то есть библиотека ntwdblib.dll должна находиться в дистрибутиве PHP?
Должна быть в дистрибутиве MSSQL, а после установки MSSQL находиться в папке \winnt\system32 сервера.
Кроме этого у меня всё же не получается соединиться с БД.
Что из данных вам указаний вы уже сделали? Тут нет телепатов.
замучился уже
Дата: 19.09.2011 22:39:21
Вот блин все такие ГУРУ - (мы все знаем у нас все работает... читайте мануал... )
а ПО РУССКИ объяснить- написать не можем или лень?
Человек задал вопрос- "как заставить работать PHP+MSSQL ?"
ФОРУМ для того и существует чтоб в диалоге находить\давать разъяснения на конкретные вопросы, а не отсылать по ссылкам в дебри интернета...

1) на вин ХР установлено apache 2.2.20
к нему как модуль подключен HPH 5.2.17

LoadModule php5_module c:/php/php5apache2_2.dll
AddType application/x-httpd-php phtml php
PHPIniDir "c:/php/"


(apach+PHP работает)

2) на этой же машине установлен MSSQL 2005 express
для настройки PHP+MSSQL в PHP.INI раскоментировал строку extension=php_mssql.dll
из папки PHP скопирован файл ntwdblib.dll в C:\windows\system32
На сколько я понял в PHP нет поддержки MSSQL начиная с версии PHP 5.3.х
следавательно в моей версии (PHP 5.2.17) все должно работать.

(рестарт apache)

в браузере открываем файл phpinfo.php
<?php phpinfo(); ?>

смотрим информацию о конфигурации нашего сервера (фиолетовые таблици)
... и не слова в них не находим про подключенный или работающий MSSQL
На сколько я знаю - должна появиться отдельная таблица с заголовком "MS SQL" либо "SQLSERV"
но там нет ни того не другого!
следовательно при попытке подключиться к базе данных из скрипта:

<?php
$host="localhost";
$user="user";
$pwd="password";
$db=mssql_connect($host,$user,$pwd);
mssql_select_db("base",$db);
echo $db;
?>


ничего не выходит!
выполнение скрипта останавливается на
$db=mssql_connect($host,$user,$pwd);

Т.Е. PHP не понимает команды mssql_connect
Выходит так что PHP все еще не настроен для работы с MSSQL
даже после раскоментирования строки extension=php_mssql.dll
и копирования файла ntwdblib.dll

--==*==--

Что мной сделано НЕ ТАК, или чего еще не сделал???

P.S.
Телепаты в дальнейшей дискуссии не участвуют!
Слово предоставляется ГУРУ!
ждем ваших УКАЗАНИЙ
ScareCrow
Дата: 19.09.2011 22:59:49
замучился уже
Дата: 19.09.2011 23:33:43
что? опять мордой в ту же ссылку? :-(

пробовал я и эти библиотеки "прикрутить"
но они же для PHP 5.3... а у меня 5.2

в общем проблема пока не решена...