2016-06-17 4 views
0

공식 PHP 설명서를 따라 IIS7에 PHP를 설치 했으므로 성공했습니다. PHP 파일을 실행할 수 있으며 내 사이트는 정상입니다. 그러나 PDO 및 ODBC 드라이버가있는 MSSQL 데이터베이스에 연결할 수 없습니다. 나는 php.ini를주의 깊게 설정했으며 모두 좋다고 생각합니다. 또한 ODBC는 Windows에서 기본이며 PDO는 최신 PHP 빌드 (내 5.5.36)에 포함되어 있다고 생각합니다.PHP PDO ODBC MSSQL 연결

define("UID", 'uid'); 
define("PWD", 'pwd'); 
define("DSN", 'odbc:decheterie'); 
// where 'decheterie' is the dataSource set in the ODBC Connection Manager 

try { 
    $pdo = new PDO(DSN, UID, PWD); 
} catch (PDOException $e) { 
    die("Error! ".$e->getMessage()); 
} 

내가 오류는 다음과 같습니다 :

오류

그래서 여기 내 연결 코드입니다! 드라이버를 찾을 수 없습니다

php -m을 실행하면 PDO 및 ODBC 모듈이 올바르게로드 된 것을 볼 수 있습니다. PDO::getAvailableDrivers()은 빈 배열을 반환하며 'PDO 드라이버'섹션에 '값 없음'을 표시하는 phpinfo() 내에서 확인할 수 있습니다.

많은 게시물과 기사를 읽었으며 응답이 '문제 해결'으로 유효성이 확인 될 때마다 내 설정에서 이미 유용합니다.

누군가가 도움이된다면 축복을받을 수 있습니다.)

+0

PHP는 -m은/(웹 서버에 내장) SAPI PHP를보다 완전히 다른 .ini 파일을해야합니다 수 있습니다 CLI의 PHP입니다. 웹 서버에서이 코드를 실행한다면 cli 출력이 거의 쓸모 없기 때문에 phpinfo()를 확인해야합니다. PDO가 설치되어 있더라도 여전히 특정 DB 드라이버가 필요합니다. pdo-mysql. –

+0

IIS 관리 콘솔의 모듈에서'php_pdo_sqlsrv _ *. dll'을 활성화 시키려고 했습니까? – gofr1

+0

Marc 정보 주셔서 감사합니다. 올바른 절차로 테스트하는 것이 중요합니다. php_pdo_odbc.dll이 Windows에 내장되어 있어야합니다. 나는 php_pdo_sqlsrv _ *. dll을 다운로드하고 참조했으며 잘 동작한다. 고맙습니다 Gofr1 – Ben

답변

0

Solved!

위의 의견에 대한 답변입니다. 당신은 * _ php_pdo_sqlsrv을 DL해야합니다. dll을

당신의 PHP/내선 폴더와 php.ini 파일의 확장으로 참조를에

'*'는 PHP 버전 모두 잘 에서 설명입니다 MSDN의 문서 here

감사