Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18 / 25 сообщений из 27, страница 1 из 2
29.01.2019, 12:05
    #39766401
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Здравствуйте, формучане! Долго бился я над своей проблемой, но, может, от недостатка опыта, решил написать сюда. Имеется сервер на Ubuntu Server 18, apache2 + php 7.2 и MS SQL сервер на Windows Server 2003, мне нужно подключаться к этому серверу из php-скрипта. При соединении через консоль Ubuntu:
Код: sql
1.
sqlcmd -S Server\Server -U sa -P sa

получаю ответ:
Код: powershell
1.
2.
3.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2AFA.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..

. Сам сервер доступен, пингуется, пробовал telnet'ом подключаться к порту 1433, пишет: Connection refused, к 80 порту того же сервера соединяется.
Необходимые драйверы на PHP я установил:
Код: html
1.
2.
3.
4.
<h2><a name="module_sqlsrv">sqlsrv</a></h2><table>
<tbody><tr class="h"><th>sqlsrv support</th><th>enabled</th></tr>
<tr><td class="e">ExtensionVer </td><td class="v">5.3.0 </td></tr>
</tbody></table>

, но почему-то не подгружается PDO_sqlsrv. Нужен ли он в данном случае? TCPDUMP показывает обмен данными с сервером, с других клиентов на Windows к серверу подключаюсь без проблем.
...
Рейтинг: 0 / 0
29.01.2019, 12:08
    #39766404
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
IvanC,

если refused, сделайте так, чтобы не был refused.
...
Рейтинг: 0 / 0
29.01.2019, 12:11
    #39766407
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
у меня отключены все средства ограничения доступа: нет антивируса, отключен брендмауэр. При этом все остальные клиенты работают с данным сервером.
...
Рейтинг: 0 / 0
29.01.2019, 12:14
    #39766411
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
IvanC,

Код: sql
1.
xp_readerrorlog 0, 1, N'Server is listening on' 
...
Рейтинг: 0 / 0
29.01.2019, 12:18
    #39766422
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Server is listening on [ 'any' <ipv4> 1093]. Этот порт тоже пробовал, но получаю ту же ошибку. Я правильно указываю:
Код: powershell
1.
sqlcmd -S Server\Server,1093 -U sa -P sa

?
...
Рейтинг: 0 / 0
29.01.2019, 12:28
    #39766435
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
...
Рейтинг: 0 / 0
29.01.2019, 12:30
    #39766440
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Я это делал, ставил постоянный порт, но результат тот же. Да и по динамическому порту я б смог тогда подключиться
...
Рейтинг: 0 / 0
29.01.2019, 13:00
    #39766472
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Добавлю еще 5 копеек. По всей видимости, сервер надо писать в кавычках:
Код: powershell
1.
sqlcmd -S "Server\Server,1093" -U sa -P sa


В данном случае получаю следующее:
Код: powershell
1.
2.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.
...
Рейтинг: 0 / 0
29.01.2019, 13:19
    #39766497
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Код: sql
1.
sqlcmd -S Server,1093 -U sa -P sa

?
...
Рейтинг: 0 / 0
29.01.2019, 13:24
    #39766501
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Код: powershell
1.
2.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.
...
Рейтинг: 0 / 0
29.01.2019, 13:28
    #39766507
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
IvanC,

ну а телнет на 1093?
...
Рейтинг: 0 / 0
29.01.2019, 13:29
    #39766509
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
ну и вообще что в логах sql
...
Рейтинг: 0 / 0
29.01.2019, 13:49
    #39766522
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Код: powershell
1.
2.
Trying 192.168.1.1...
Connected to Server.


А в логах SQL ничего не нашел про то, что кто-то пытается подключиться...
...
Рейтинг: 0 / 0
29.01.2019, 14:48
    #39766562
Дормедонт Евлампиевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
cat 20-pdo-sqlsrv.ini

; configuration for php mssql
; priority=20
extension=sqlsrv.so
extension=pdo_sqlsrv.so


Порядок важен...
...
Рейтинг: 0 / 0
29.01.2019, 18:57
    #39766740
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Нет этого файла у меня ( буду завтра переустанавливать значит драйвер...
...
Рейтинг: 0 / 0
30.01.2019, 12:11
    #39766955
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Продолжаю вчерашнюю тему, нашел я файл 30-pdo_sqlsrv.ini, скопировал его в папки apache2/conf.d, fpm/conf.d, cli/conf.d, в итоге в phpinfo у меня появилась
Код: powershell
1.
PDO drivers 	pgsql, sqlsrv 

, но php жалуется:
Код: powershell
1.
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_sqlsrv' (tried: /usr/lib/php/20170718/pdo_sqlsrv (/usr/lib/php/20170718/pdo_sqlsrv: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pdo_sqlsrv.so (/usr/lib/php/20170718/pdo_sqlsrv.so: undefined symbol: php_pdo_register_driver)) in Unknown on line 0


хотя файл там есть. Соединение все так же не устанавливается
Код: powershell
1.
2.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.


но через командную строку SQL сервера все замечательно работает с той же строкой подключения. В чем может быть причина? Уже голову сломал. Спасибо.
...
Рейтинг: 0 / 0
30.01.2019, 12:16
    #39766961
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
IvanC,

Ну теперь ищите как настроить ODBC в ubuntu
...
Рейтинг: 0 / 0
30.01.2019, 12:32
    #39766972
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Спасибо, я, конечно, сделал через FreeTDS, но до сих пор совесть мучает, почему так и не разобрался с Microsoft ODBC Driver 17 for SQL Server. Ну ладно, не судьба уже. Спасибо всем, кто откликнулся!
...
Рейтинг: 0 / 0
30.01.2019, 14:33
    #39767041
WarAnt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
IvanC,

сиквел какой, экспресс? если да то включай работу по TCP, в экспере она по умолчанию отрублена.
...
Рейтинг: 0 / 0
31.01.2019, 08:34
    #39767384
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Нет, MS SQL Server 2005, TCP включена, что подтверждает работа sqlcmd на сервере. Сегодня через odbc работал, какой-то он кривой... odbc_num_rows возвращает -1, хотя записи там точно есть. Буду курить дальше pdo driver
...
Рейтинг: 0 / 0
31.01.2019, 09:39
    #39767404
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Отвечу, скорее всего сам. По всей видимости, драйвер устанавливает соединение через TLS 1.2, что сервер не поддерживает. Отсюда и ошибки... Возможно ли отключить необходимость использования этого протокола?
...
Рейтинг: 0 / 0
31.01.2019, 09:41
    #39767407
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
IvanCОтвечу, скорее всего сам. По всей видимости, драйвер устанавливает соединение через TLS 1.2, что сервер не поддерживает. Отсюда и ошибки... Возможно ли отключить необходимость использования этого протокола?
https://support.microsoft.com/en-hk/help/3135244/tls-1-2-support-for-microsoft-sql-server
...
Рейтинг: 0 / 0
31.01.2019, 09:48
    #39767410
IvanC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Там статья про сервер, у меня MS Server 2003, поэтому про поддержку TLS 1.2 можно забыть, но вот на стороне самого драйвера возможно ли отключение этого протокола и использование более старой версии?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
01.10.2021, 09:06
    #40101179
f50
f50
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
Друзья, подскажите что не так делаю.. ставлю FreeTDS... Ubuntu 20.04. Еще не коннектюсь к серверу, только проверяю, есть ли новая библиотека в php_info...

sudo apt-get install unixodbc unixodbc-dev freetds-dev freetds-bin freetds-common tdsodbc
  • Версия видна в консоли: tsql -C (Version: freetds v1.1.6)
    • прописал все конфиги какие возможны... редактировал php.ini (путь к ini в php_info взял)
    • Перезапустил php и apache
    • в консоли выполняю команду php -m , нет модуля с MSSQL (((
    • на http://myserver/ вывожу результат команды php_info, но так же нет секции с mssql...
    ...
    Рейтинг: 0 / 0
    01.10.2021, 09:48
        #40101200
    f50
    f50
    Участник
    Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
    Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18
    забыл ещё написать, из консоли коннектюсь нормально
    Код: powershell
    1.
    tsql -LH MyServer
    


    Код: plaintext
    1.
    2.
    3.
    4.
         ServerName MyServer
       InstanceName MSSQLSERVER
        IsClustered No
            Version 9.00.5000.00
                tcp 1433
    все ок!!!
    Код: powershell
    1.
    tsql -S MyServer -U testuser -P 1234qwer1234
    


    Код: plaintext
    1.
    2.
    3.
    locale is "en_US.UTF-8"
    locale charset is "UTF-8"
    using default charset "UTF-8"
    >
    все ок!!!

    только PHP не видит / не дружит / не подхватывает MSSQL / FreeTDS (((
    как правильно написать extension в php.ini ? не могу нагуглить... вот мой кусок кода из php.ini
    Код: plaintext
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    ;extension=soap
    ;extension=sockets
    ;extension=sodium
    ;extension=sqlite3
    ;extension=tidy
    ;extension=xmlrpc
    ;extension=xsl
    extension=mssql
    
    не правильно объявил mssql? (((
    ...
    Рейтинг: 0 / 0
    Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Подключение к MS SQL Server 2005 из PHP7.2 на Ubuntu Server 18 / 25 сообщений из 27, страница 1 из 2
    Целевая тема:
    Создать новую тему:
    Автор:
    Найденые пользователи ...
    Разблокировать пользователей ...
    Читали форум (0):
    Пользователи онлайн (0):
    x
    x
    Закрыть


    Просмотр
    0 / 0
    Close
    Debug Console [Select Text]