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 //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.dll
và extension=php_sqlsrv_72_nts_x64.dll
, chúng có thể được tải xuống tại //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 //learn.microsoft.com/en-us/sql/connect/php/loading-the-php-sql-rider?view=sql-server-2017 và // 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:
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.
Nhập một thư mục để trích xuất gói vào khi được nhắc.
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].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.
Chỉnh sửa tệp
php.ini
của bạn để thêm các dòng sau trong phầnExtensions
: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.
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
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
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.$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]];}Thay đổi cài đặt cấu hình cho trình điều khiển SQLSRV bằng hàm
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.$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]];}Đả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 []:
Mở tệp văn bản và sao chép mã sau vào đó:
Lưu tệp dưới dạng
4 trong thư mục gốc IIS.$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]];}Mở trình duyệt và truy cập
5.$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]];}Cuộn xuống trang kết quả để tìm phần
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].$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]];}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