Connect to ms sql 2005 from php using freetds on centos

I had a problem connecting to MS SQL 2005 with PHP.

I can connect from the shell using ...

tsql -S 10.0.0.134 -p 1433 -U gareth 

Typing a simple query works as expected ...

 1> SELECT @@VERSION AS MSSQL_VERSION 2> go MSSQL_VERSION Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86) Nov 24 2008 13:01:59 Copyright (c) 1988-2005 Microsoft Corporation Express Edition on Windows NT 6.1 (Build 7601: Service Pack 1) 

However, trying this with a PHP script does not work ...

 $test = mssql_connect('10.0.0.134:1433', 'gareth', 'mypass'); 

... and creates mssql_connect () [function.mssql-connect]: cannot connect to server error.

I can see the mssql.so module in / usr / lib / php / modules and phpinfo () shows that the module is loaded.

I would be happy to use odbc_connect if someone could show me a configuration example for freetds.conf and odbc.conf

thanks

+4
source share
1 answer

Here is what I can find on PHP.net about your problem. Perhaps this will help you solve this problem.

 This might be obvious to some, but here is a quick tidbit that might save you some time if you are using FreeTDS in Linux: Be sure that you have these two lines in freetds.conf: dump file = /tmp/freetds.log dump file append = yes so you can tail -f it in the background of debugging the problem. This helped me find my issue on on CentOS Linux: 1) tsql test works 2) php-mssql connection in php also works WHEN RUN FROM THE SHELL 3) running PHP through apache does NOT work. my /tmp/freetds.log file told me: net.c:168:Connecting to MYDBSERVER port MYDBPORT net.c:237:tds_open_socket: MYDBSERVER:MYDBPORT: Permission denied and the answer was my firewall/SELinux was denying the Apache processes access to connect to the remote MSSQL DB port, but my shell accounts were fine. 
+5
source

All Articles