2013-04-16 8 views
2

php + adodb를 사용하여 데이터베이스에 연결하려고합니다. 이 내 PHP 코드 :데이터 소스에 연결할 수 없습니다.

$kpp_db = ADONewConnection('odbc_mssql'); 
$kpp_db->debug = true; 
$kpp_db->charSet="UTF-8"; 
$kpp_dbDSN = "Driver={SQL Server};Server=$kppConfig_dbHost;Database=$kppConfig_dbName;"; 
$kppConfig_akEnabled=$kpp_db->Connect($kppConfig_dbDSN, $kppConfig_dbLogin, $kppConfig_dbPassword); 

그러나 그것이 작동하지입니다. 내가 메시지를

S1000 얻을 :

[SQL Server] 
Driver=FreeTDS 
Description=testsql 
Trace=Yes 
TraceFile=~/workspace/mstest.log 
: 데이터 소스에 연결할 수 없습니다 [인 unixODBC] [FreeTDS를] [SQL 서버]

이 내 /etc/odbc.ini 파일입니다

그리고 /etc/odbcinst.ini 파일 : 나는 혼란

[FreeTDS] 
Description    = FreeTDS unixODBC Driver 
Driver   = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so 
Setup   = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so 
UsageCount    = 1 

. 뭐가 잘못 되었 니?

+0

그리고 많은'$'변수 값은 무엇입니까? '$ kppConfig_dbHost'와'$ kppConfig_dbName' – Amir

+0

변수가 정의됩니다. '$ kppConfig_dbHost = '172.17.100.7'','$ kppConfig_dbName = KPP_temp' 등등 – Tamplier

답변

0

here과 같은 명령 줄을 통해 연결을 시도 했습니까? tsql과 isql이 모두 작동하면 구성 파일에 문제가 없습니다. 사용중인 OS에 따라 권한 문제 일 수 있습니다. 나를 위해, SELinux를 비활성화하면 트릭을 만들었습니다.

sudo setenforce 0 
0

다른 Linux OS에서는 알 수 없지만 확실하지 않습니다.

setsebool -P httpd_can_network_connect on 
setsebool -P httpd_can_network_connect_db on 

systemctl restart httpd 

그런 다음 연결하려고 :

또한/아파치 아파치 그냥 아래의 명령을 입력 MSSQL와 통신 할 수 있도록해야하고 아파치를 다시 시작합니다.