Hướng dẫn could not find driver sql server php - không thể tìm thấy trình điều khiển sql server php

Tôi đã nhận nó tìm ra. Tôi đã phải cài đặt trình điều khiển ODBC 17 cho SQL Server (MSODBCSQL_17.2.0.1_X64.MSI) trên máy chủ của tôi. Máy khách tự nhiên SQL Server 11.0 đã được cài đặt nhưng không phải trình điều khiển ODBC cho SQL Server.

Để tham khảo trong tương lai cho bất kỳ ai khác với vấn đề này hoặc một vấn đề tương tự ...

Nó có thể được tải xuống tại https://www.microsoft.com/en-us/doad/details.aspx?id=56567 (Lưu ý: Nếu bạn có máy chủ 32 bit, bạn sẽ muốn cài đặt MSODBCSQL_17.2.0.1_x86 .MSI - Nếu bạn vô tình cố gắng cài đặt phiên bản không chính xác, nó sẽ cho bạn biết trong quá trình cài đặt). Sau khi trình điều khiển được cài đặt, bạn cần khởi động lại máy chủ. Nó sẽ không nhắc bạn khởi động lại, nhưng bạn sẽ cần.

Trong php.ini của tôi, tôi đã thêm extension=php_pdo_sqlsrv_72_nts.dllextension=php_sqlsrv_72_nts_x64.dll, chúng có thể được tải xuống tại https://learn.microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-river? View = SQL-server-2017

Thông tin thêm có thể được tìm thấy tại https://learn.microsoft.com/en-us/sql/connect/php/loading-the-php-sql-rider?view=sql-server-2017 và https: // tìm hiểu. Microsoft.com/en-us/sql/connect/php/system-requirements-for-the-php-sql-rider?view=sql-server-2017

Bây giờ tôi có thể thiết lập kết nối với SQL Server bằng SQLSRV_CONNECT hoặc PDO.

Kiểm tra kết nối PDO:

$SqlServer = "THISSERVER\SQLEXPRESS";
$SqlServerCon = new PDO("sqlsrv:server=$SqlServer;Database=TheDatabase", "DbUName", "DbPassword"); 
if (!$SqlServerCon) {die('Unable To Connect to Sql Server');}
else
{echo "Connection Successful";} 

Kiểm tra kết nối SQLSRV_CONNECT:

$SqlServer = "THISSERVER\SQLEXPRESS";
$DbConnInfo = array( "Database"=>"TheDatabase", "UID"=>"DbUName", "PWD"=>"DbPassword");
$SqlServerCon = sqlsrv_connect( $SqlServer, $DbConnInfo);
if( $SqlServerCon ) {echo "Connection established";}
else
{echo "Connection could not be established.
"; die( print_r( sqlsrv_errors(), true));}

Bỏ qua nội dung chính

Trình duyệt này không còn được hỗ trợ.

Nâng cấp lên Microsoft Edge để tận dụng các tính năng mới nhất, cập nhật bảo mật và hỗ trợ kỹ thuật.

Cài đặt trình điều khiển SQL Server cho PHP

  • Bài báo
  • 14/06/2022
  • 3 phút để đọc

Trong bài viết này

bởi Tali Smith

Giới thiệu

Trình điều khiển Microsoft cho PHP cho SQL Server được thiết kế để cho phép tích hợp đáng tin cậy, có thể mở rộng với SQL Server cho các ứng dụng PHP trên các nền tảng Windows, Linux và MacOS. Trình điều khiển là các tiện ích mở rộng PHP cho phép đọc và ghi vào cơ sở dữ liệu SQL Server trong tất cả các phiên bản của SQL Server (bao gồm các phiên bản Express) trong các tập lệnh PHP. Hai trình điều khiển có sẵn: Trình điều khiển SQLSRV cung cấp giao diện thủ tục để tương tác với SQL Server. Trình điều khiển PDO_SQLSRV thực hiện giao diện PDO hướng đối tượng của PHP để làm việc với cơ sở dữ liệu.

Giao diện lập trình ứng dụng của trình điều khiển (API) bao gồm hỗ trợ xác thực Active Directory, giao dịch, liên kết tham số, phát trực tuyến, truy cập siêu dữ liệu, xử lý dữ liệu Unicode và xử lý lỗi. Các trình điều khiển dựa vào trình điều khiển Microsoft ODBC để SQL Server liên lạc với SQL Server. Trình điều khiển cũng hỗ trợ cơ sở dữ liệu Microsoft SQL Azure, cho phép các nhà phát triển xây dựng các ứng dụng PHP với các khả năng quan hệ bằng cơ sở dữ liệu SQL Azure.

Trình điều khiển Microsoft cho Tải xuống Php cho SQL Server có sẵn miễn phí cho tất cả người dùng SQL Server. Phát hành và mã nguồn cho trình điều khiển có sẵn từ trang Dự án GitHub. Tài liệu đầy đủ cho các trình điều khiển có sẵn trên Microsoft Docs; Những gì sau đây là một tổng quan ngắn gọn về cài đặt và cấu hình trên Windows và IIS.

yêu cầu hệ thống

Chi tiết đầy đủ về các yêu cầu hệ thống cho tất cả các phiên bản được hỗ trợ của trình điều khiển có thể được tìm thấy trên trang yêu cầu hệ thống. Phần mềm sau đây là bắt buộc:

  • Trên máy khách:
    • Một hệ điều hành Windows, Linux hoặc MacOS được hỗ trợ
    • Phiên bản được hỗ trợ của PHP
    • Phiên bản được hỗ trợ của trình điều khiển Microsoft ODBC cho SQL Server
    • Một máy chủ web được cấu hình để chạy PHP
  • Trên máy chủ:
    • Phiên bản được hỗ trợ của SQL Server hoặc Azure SQL cơ sở dữ liệu

Cài đặt trình điều khiển

Trình điều khiển Microsoft cho PHP cho SQL Server có thể được cài đặt bằng trình cài đặt nền tảng web. Để tải xuống và cài đặt trình điều khiển theo cách thủ công, hãy thực hiện các bước sau:

  1. Tải xuống và chạy gói cài đặt từ liên kết thích hợp trên trang tải xuống.

  2. Nhập một thư mục để trích xuất gói vào khi được nhắc.

  3. Mở thư mục bạn đã chọn trong bước 3 và sao chép các thư viện DLL cần thiết vào thư mục mở rộng PHP của bạn. Tên tệp cho biết phiên bản PHP, độ chủ đề và kiến ​​trúc mà mỗi tệp DLL là dành cho. Ví dụ, php_sqlsrv_73_ts_x64.dll là trình điều khiển SQLSRV 64 bit cho Php 7.3 an toàn (TS).

  4. Tải xuống và cài đặt trình điều khiển Microsoft ODBC cho SQL Server từ liên kết thích hợp trên trang tải xuống ODBC.

  5. Chỉnh sửa tệp php.ini của bạn để thêm các dòng sau trong phần Extensions:

    Extension=php_sqlsrv.dll
    

    Thay thế tên của các tệp bạn đã sao chép vào thư mục mở rộng PHP của bạn theo yêu cầu. Hướng dẫn đầy đủ để tải các trình điều khiển có thể được tìm thấy ở đây.

  6. Bắt đầu một dấu nhắc lệnh làm quản trị viên và chạy iisreset để khởi động lại máy chủ IIS của bạn.

Định cấu hình các trình điều khiển

  1. Truy xuất cài đặt cấu hình hiện tại cho trình điều khiển SQLSRV bằng hàm

    $SqlServer = "THISSERVER\SQLEXPRESS";
    $DbConnInfo = array( "Database"=>"TheDatabase", "UID"=>"DbUName", "PWD"=>"DbPassword");
    $SqlServerCon = sqlsrv_connect( $SqlServer, $DbConnInfo);
    if( $SqlServerCon ) {echo "Connection established";}
    else
    {echo "Connection could not be established.
    "; die( print_r( sqlsrv_errors(), true));}
    0 hoặc cho trình điều khiển PDO_SQLSRV bằng hàm
    $SqlServer = "THISSERVER\SQLEXPRESS";
    $DbConnInfo = array( "Database"=>"TheDatabase", "UID"=>"DbUName", "PWD"=>"DbPassword");
    $SqlServerCon = sqlsrv_connect( $SqlServer, $DbConnInfo);
    if( $SqlServerCon ) {echo "Connection established";}
    else
    {echo "Connection could not be established.
    "; die( print_r( sqlsrv_errors(), true));}
    1.

  2. Thay đổi cài đặt cấu hình cho trình điều khiển SQLSRV bằng hàm

    $SqlServer = "THISSERVER\SQLEXPRESS";
    $DbConnInfo = array( "Database"=>"TheDatabase", "UID"=>"DbUName", "PWD"=>"DbPassword");
    $SqlServerCon = sqlsrv_connect( $SqlServer, $DbConnInfo);
    if( $SqlServerCon ) {echo "Connection established";}
    else
    {echo "Connection could not be established.
    "; die( print_r( sqlsrv_errors(), true));}
    2 hoặc cho trình điều khiển PDO_SQLSRV bằng hàm
    $SqlServer = "THISSERVER\SQLEXPRESS";
    $DbConnInfo = array( "Database"=>"TheDatabase", "UID"=>"DbUName", "PWD"=>"DbPassword");
    $SqlServerCon = sqlsrv_connect( $SqlServer, $DbConnInfo);
    if( $SqlServerCon ) {echo "Connection established";}
    else
    {echo "Connection could not be established.
    "; die( print_r( sqlsrv_errors(), true));}
    3.

  3. Đảm bảo rằng các trình điều khiển được tải và xác minh cài đặt cấu hình bằng cách chạy tập lệnh gọi hàm phpinfo ():

    1. Mở tệp văn bản và sao chép mã sau vào đó:

      
      
    2. Lưu tệp dưới dạng

      $SqlServer = "THISSERVER\SQLEXPRESS";
      $DbConnInfo = array( "Database"=>"TheDatabase", "UID"=>"DbUName", "PWD"=>"DbPassword");
      $SqlServerCon = sqlsrv_connect( $SqlServer, $DbConnInfo);
      if( $SqlServerCon ) {echo "Connection established";}
      else
      {echo "Connection could not be established.
      "; die( print_r( sqlsrv_errors(), true));}
      4 trong thư mục gốc IIS.

    3. Mở trình duyệt và truy cập

      $SqlServer = "THISSERVER\SQLEXPRESS";
      $DbConnInfo = array( "Database"=>"TheDatabase", "UID"=>"DbUName", "PWD"=>"DbPassword");
      $SqlServerCon = sqlsrv_connect( $SqlServer, $DbConnInfo);
      if( $SqlServerCon ) {echo "Connection established";}
      else
      {echo "Connection could not be established.
      "; die( print_r( sqlsrv_errors(), true));}
      5.

    4. Cuộn xuống trang kết quả để tìm phần

      $SqlServer = "THISSERVER\SQLEXPRESS";
      $DbConnInfo = array( "Database"=>"TheDatabase", "UID"=>"DbUName", "PWD"=>"DbPassword");
      $SqlServerCon = sqlsrv_connect( $SqlServer, $DbConnInfo);
      if( $SqlServerCon ) {echo "Connection established";}
      else
      {echo "Connection could not be established.
      "; die( print_r( sqlsrv_errors(), true));}
      6 và
      $SqlServer = "THISSERVER\SQLEXPRESS";
      $DbConnInfo = array( "Database"=>"TheDatabase", "UID"=>"DbUName", "PWD"=>"DbPassword");
      $SqlServerCon = sqlsrv_connect( $SqlServer, $DbConnInfo);
      if( $SqlServerCon ) {echo "Connection established";}
      else
      {echo "Connection could not be established.
      "; die( print_r( sqlsrv_errors(), true));}
      7. Xác nhận rằng các trình điều khiển được tải và cài đặt cấu hình được đặt thành các giá trị mặc định (xem Hình 1).

      Hướng dẫn could not find driver sql server php - không thể tìm thấy trình điều khiển sql server php

      Hình 1: Trang Cài đặt cấu hình máy chủ SQL

Tạo kết nối với cơ sở dữ liệu

Khi sử dụng trình điều khiển SQLSRV, hàm

$SqlServer = "THISSERVER\SQLEXPRESS";
$DbConnInfo = array( "Database"=>"TheDatabase", "UID"=>"DbUName", "PWD"=>"DbPassword");
$SqlServerCon = sqlsrv_connect( $SqlServer, $DbConnInfo);
if( $SqlServerCon ) {echo "Connection established";}
else
{echo "Connection could not be established.
"; die( print_r( sqlsrv_errors(), true));}
8 được sử dụng để thiết lập kết nối với máy chủ. Khi sử dụng trình điều khiển PDO_SQLSRV, hàm
$SqlServer = "THISSERVER\SQLEXPRESS";
$DbConnInfo = array( "Database"=>"TheDatabase", "UID"=>"DbUName", "PWD"=>"DbPassword");
$SqlServerCon = sqlsrv_connect( $SqlServer, $DbConnInfo);
if( $SqlServerCon ) {echo "Connection established";}
else
{echo "Connection could not be established.
"; die( print_r( sqlsrv_errors(), true));}
9 được sử dụng để thiết lập kết nối với máy chủ.

Các kết nối có thể được thực hiện bằng Xác thực Windows, Xác thực SQL Server hoặc Xác thực Active Active Directory. Mặc định là sử dụng xác thực Windows. Trong hầu hết các kịch bản, điều này có nghĩa là nhận dạng quy trình hoặc nhận dạng luồng của máy chủ web (nếu máy chủ web đang sử dụng mạo danh) được sử dụng để kết nối với máy chủ, chứ không phải danh tính của người dùng.

Liên kết để biết thêm thông tin

  • Trình điều khiển Microsoft cho PHP cho SQL Server
  • Tải xuống trình điều khiển Microsoft cho PHP cho SQL Server
  • Tổng quan về trình điều khiển Microsoft cho PHP cho SQL Server
  • Hướng dẫn lập trình
  • Ứng dụng ví dụ SQLSRV
  • Ứng dụng ví dụ PDO_SQLSRV
  • Trang chủ PHP
  • Whitepaper: Truy cập cơ sở dữ liệu SQL Server với PHP
  • Trình điều khiển cho blog nhóm SQL Server
  • SQL Azure Team Blog

Làm cách nào để tìm trình điều khiển SQL Server của tôi?

Mở bảng điều khiển Windows.Mở thư mục Công cụ quản trị.Nhấp đúp vào Nguồn dữ liệu (ODBC) để mở cửa sổ Quản trị viên Nguồn dữ liệu ODBC.Nhấp vào tab Trình điều khiển và xác định vị trí mục nhập SQL Server trong danh sách trình điều khiển ODBC để xác nhận rằng trình điều khiển được cài đặt trên hệ thống của bạn.

Làm thế nào để kích hoạt SQLSRV trong PHP ini?

Tiện ích mở rộng SQLSRV được bật bằng cách thêm tệp DLL thích hợp vào thư mục tiện ích mở rộng PHP của bạn và mục nhập tương ứng vào tệp PHP.ini.Tải xuống SQLSRV đi kèm với 8 tệp trình điều khiển, bốn trong số đó dành cho hỗ trợ PDO.Phiên bản gần đây nhất của trình điều khiển có sẵn để tải xuống tại đây: »Tải xuống SQLSRV.adding appropriate DLL file to your PHP extension directory and the corresponding entry to the php. ini file. The SQLSRV download comes with 8 driver files, four of which are for PDO support. The most recent version of the driver is available for download here: » SQLSRV download.

PDO_SQLSRV là gì?

PDO_SQLSRV là một trình điều khiển thực hiện giao diện đối tượng dữ liệu PHP (PDO) để cho phép truy cập từ PHP đến MS SQL Server (bắt đầu với SQL Server 2005) và cơ sở dữ liệu SQL Azure.a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to MS SQL Server (starting with SQL Server 2005) and SQL Azure databases.