programmer_2006
Новичок
PHP + MSSQL + Ubuntu
Понадобилось связать их, в сети нашел несколько статей и пытался по ним делать, но нечего не получилось.
Установил через менеджер пакетов модуль к пхп php5_sybase, в phpinfo() поzвилась поддержка MSSQL
Для теста сделал пхп файл с таким кодом
Так же установил freetds, unixodbc, odbc и еще что то.
В конфиге freetds прописал
и врубил логирование.
При запуске скрипты вылетает ошибка
В логе freetds
Еще пробовал править файлы odbc.ini and odbcinst.ini
В odbc.ini прописал
В odbcinst.ini прописал
Вроде уже и так и этак пробовал но не пашет. Подскажите в чем может быть трабла, где я запарол. Может ссылку на статью где точно все верно работает. Уже бьюсь, бьюсь но толку пока нет.
Заранее благодарен за ответы.
Понадобилось связать их, в сети нашел несколько статей и пытался по ним делать, но нечего не получилось.
Установил через менеджер пакетов модуль к пхп php5_sybase, в phpinfo() поzвилась поддержка MSSQL
PHP:
mssql
MSSQL Support enabled
Active Persistent Links 0
Active Links 0
Library version FreeTDS
Directive Local Value Master Value
mssql.allow_persistent On On
mssql.batchsize 0 0
mssql.charset no value no value
mssql.compatability_mode Off Off
mssql.connect_timeout 5 5
mssql.datetimeconvert On On
mssql.max_links Unlimited Unlimited
mssql.max_persistent Unlimited Unlimited
mssql.max_procs Unlimited Unlimited
mssql.min_error_severity 10 10
mssql.min_message_severity 10 10
mssql.secure_connection Off Off
mssql.textlimit Server default Server default
mssql.textsize Server default Server default
mssql.timeout 60 60
PHP:
echo "Testing...";
if ($db = mssql_connect('85.241.12.51\ARTEM,1456','login','password')){
echo $db;
mssql_select_db('SOKLinkMoney', $db);
echo "connected to a database";
mssql_close($db);
} else {
echo "connection failed";
}
echo "test";
В конфиге freetds прописал
PHP:
# A typical Microsoft server
[MyMSSQL]
host = 85.241.12.51\ARTEM
port = 1456
tds version = 8.0
При запуске скрипты вылетает ошибка
Вместа передачи хоста пробовал передать "MyMSSQL" но эффект тот же.Testing...
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 85.241.12.51\ARTEM,1456 in /home/igor/Projects/Gekos/linkmoney/public/mssql.php on line 8
connection failedtest
В логе freetds
Меня смущает название хоста "85.241.12.51\ARTEM,1456" но под виндой все работает с таким названием.log.c:190:Starting log file for FreeTDS 0.82
on 2009-07-21 09:03:12 with debug flags 0x4fff.
iconv.c:197:names for ISO-8859-1: ISO-8859-1
iconv.c:197:names for UTF-8: UTF-8
iconv.c:197:names for UCS-2LE: UCS-2LE
iconv.c:197:names for UCS-2BE: UCS-2BE
iconv.c:363:iconv to convert client-side data to the "ANSI_X3.4-1968" character set
iconv.c:516:tds_iconv_info_init: converting "US-ASCII"->"UCS-2LE"
net.c:836:tds7_get_instance_port(85.241.12.51, ARTEM,1456)
net.c:905:tds7_get_instance_port: timed out on try 0 of 16
net.c:905:tds7_get_instance_port: timed out on try 1 of 16
net.c:905:tds7_get_instance_port: timed out on try 2 of 16
net.c:905:tds7_get_instance_port: timed out on try 3 of 16
net.c:905:tds7_get_instance_port: timed out on try 4 of 16
net.c:905:tds7_get_instance_port: timed out on try 5 of 16
net.c:905:tds7_get_instance_port: timed out on try 6 of 16
net.c:905:tds7_get_instance_port: timed out on try 7 of 16
net.c:905:tds7_get_instance_port: timed out on try 8 of 16
net.c:905:tds7_get_instance_port: timed out on try 9 of 16
net.c:905:tds7_get_instance_port: timed out on try 10 of 16
net.c:905:tds7_get_instance_port: timed out on try 11 of 16
net.c:905:tds7_get_instance_port: timed out on try 12 of 16
net.c:905:tds7_get_instance_port: timed out on try 13 of 16
net.c:905:tds7_get_instance_port: timed out on try 14 of 16
net.c:905:tds7_get_instance_port: timed out on try 15 of 16
net.c:974:instance port is 0
login.c:418:invalid port number
dblib.c:1372:dbclose(0x7fcf9b986fe0)
dblib.c:256:dblib_del_connection(0x7fcf8ebf15a0, 0x7fcf9b9879c0)
mem.c:563:tds_free_all_results()
dblib.c:303:dblib_release_tds_ctx(1)
dblib.c:5727:dbfreebuf(0x7fcf9b986fe0)
dblib.c:718:dbloginfree(0x7fcf9b8465b0)
Еще пробовал править файлы odbc.ini and odbcinst.ini
В odbc.ini прописал
PHP:
[FreeTDS]
Description = FreeTDS
Driver = FreeTDS
Servername = 85.241.12.51\ARTEM // тут пробовал еще ставить "MyMSSQL"
Database = SOKLinkMoney
UID = user
PWD =password
Port = 1456
Trace = Yes
TraceFile = /tmp/mstest.log // кстати файл лога не появился
PHP:
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/local/lib/libtdsodbc.so
Trace = Yes
TraceFile = /tmp/freetds.log
FileUsage = 1
Заранее благодарен за ответы.