2017-12-13 1 views
0

드라이버를 찾을 수 없습니다 : 나는 PHP 7.0에서 실행PHP/PDO/SQL Server. catch되지 않은 PDOException : 나는이 PHP 5.6에서 작동하지만 PHP 7.0에서 작동하지 않는 간단한 스크립트를

$conn = new PDO("sqlsrv:Server=10.6.2.105;Database=mydb", "myuname", "mypwd"); 
$sql = "SELECT TOP 3 txt FROM mytab"; 
foreach ($conn->query($sql) as $row) 
    print $row["txt"] . "\r\n"; 

, 나는 다음과 같은 오류가 발생합니다 :

Uncaught PDOException: could not find driver 

http://php.net/manual/en/pdo.installation.php에 따르면 Windows 용 5.3 이상의 php.ini 파일에는 extension = php_pdo.dll이 필요하지 않습니다.

은 내가하지만 다음합니까 : 또한

extension=php_pdo_mysql.dll 
extension=php_pdo_oci.dll 
extension=php_pdo_sqlite.dll 

을, 난 그냥하지 PDO와 함께 직접 SQL 서버를 사용할 수 있습니다.

이 작업을 수행하려면 무엇이 더 필요합니까? 이 드라이버는 어디에서 찾을 수 있습니까?

상세 사항 :

PHP 7.0.5 
Windows 8.1 
NTS x86 
+0

드라이버를 다운로드하여 ext 폴더에 추가하고 php.ini https://www.microsoft.com/en-us/download/details에서 활성화하십시오. aspx? id = 20098 –

답변

0

이미 드라이버를 다운로드했고 그것은 작동하지 않았다. 운전사를위한 새로운 위치를 찾아 내고 이것은 작동한다.

https://github.com/Microsoft/msphpsql/releases

php.ini의 라인을 추가 :

extension=php_pdo_sqlsrv_7_nts.dll 
0

당신은 문서가 명시 적으로 PDO 확장을 가능하게하는 것은 더 이상 필요하다는 것을 말한다 것을 옳다.

그러나 MSSQL 드라이버 자체는 php.ini 파일에서 사용할 수없는 것처럼 보입니다. MySQL, OCI 및 SQLite 만 나열하기 때문입니다. 따라서이 줄을 추가하여 확장 기능을 활성화하십시오.

extension=php_pdo_mssql.dll 
관련 문제