2017-09-25 10 views
0

젠드 애플리케이션 (버전 1.11.11)을 pdo_dblib (PHP 버전 7.0.22 사용)을 통해 mssql 서버에 연결하려고합니다. 터미널에 print(extension_loaded('pdo_dblib'));을 실행하면 1이 반환되므로 PHP 설치시 pdo_dblib가 발생합니다. .ini 파일에서 내가 가진 :젠드가 pdo_dblib을로드하지 않습니다.

resources.db.adapter = "pdo_mssql" 
resources.db.params.pdoType = "pdo_dblib" 

내가 디버거 응용 프로그램을 실행할 때, 문 $a = extension_loaded('pdo_dblib');의 값은 false입니다.

이 결과로 PDO::getAvailableDrivers()에는 pdo_dblib (물론)이 포함되어 있지 않으므로 응용 프로그램에서 예외를 throw합니다.

누구나이 문제가 발생하는 이유와 해결 방법을 알고 있습니까?

+0

http://php.net/manual/ko/pdo.installation.php 확장 프로그램을 사용 하시겠습니까? 리눅스 박스에서는'php_pdo_mssql.so'와 같을 것입니다. – bassxzero

답변

0

의 핵심은 젠드 아니라, 당신의 검사 결과의 미묘한 자세히 : 나는 디버거 응용 프로그램을 실행할 때

  • , 값을 1
  • 를 반환 터미널에서 print(extension_loaded('pdo_dblib'));을 실행 명세서의 $a = extension_loaded('pdo_dblib');false

터미널의 PHP는 보장되지 않습니다. 동일한 컴퓨터의 웹 서버에서 PHP와 동일한 구성을 가지거나 동일한 버전 일 수 있습니다.

php.ini (또는 이에 상응하는) 웹 서버의 PHP 사본에서 확장 기능을 활성화하는 방법을 알아 보려면 호스팅 설정을 조사해야합니다. phpinfo()의 출력이 터미널이 아닌 응용 프로그램에서 실행되면 도움이 될 수 있습니다.