Para permitir que o apache se comunique com o MSSQL, você deve fazer o seguinte:
setsebool -P httpd_can_network_connect on
setsebool -P httpd_can_network_connect_db on
Em alguns segundos você estará conectado.
Envoironment:
servidor web: Debian8 com Apache, PHP, unixODBC, FreeTDS (versões atuais instaladas com o apt-get na semana passada)
servidor de dados: Windows Server 2008 com MS SQL Server 2008
Abrindo isto no webbrowser: (as variáveis estão definidas e certas)
<?php
$connect = odbc_connect($db_server,$db_user,$db_password);
var_dump($connect);
Eu recebo:
Warning: odbc_connect(): SQL error: [unixODBC][FreeTDS][SQL Server]Unable to connect to data source, SQL state S1000 in SQLConnect in /var/www/html/test/index.php on line 11 bool(false)
A execução do mesmo arquivo / código na linha de comando resulta em:
resource(4) of type (odbc link)
Desde que eu li isso poderia ter algo a ver com o SElinux
Eu tentei digitar sestatus
na linha de comando, resultando em
bash: sestatus: Command not found.
O tsql / isql também está funcionando.
Onde eu tenho que fazer ajustes para permitir que o apache se conecte ao MSSQL Server?
Para permitir que o apache se comunique com o MSSQL, você deve fazer o seguinte:
setsebool -P httpd_can_network_connect on
setsebool -P httpd_can_network_connect_db on
Em alguns segundos você estará conectado.