ใช้ภาษา PHP 8 ต้องการเชื่อมต่อฐานข้อมูล Microsoft SQL Server 2019 Express โดยใช้คำสั่ง sqlsrv_connect แต่พอรันแล้วไม่สำเร็จขึ้นข้อความว่า Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() ปัญหานี้ต้องแก้ไขอย่างไร
<?php
$server = "LAPTOP-XXXXXX";
$info = array( "Database"=>"my_database" );
$con = sqlsrv_connect( $server, $info);
?>
วิธีแก้ไข
ปัญหาดังกล่าวอาจเกิดจากยังไม่ได้ติดตั้ง Microsoft Drivers สำหรับ PHP เพื่อทำงานกับ SQL Server กรณีใช้ PHP 8 แนะนำให้ทบทวนการติดตั้ง dll ดังกล่าวในภาษา PHP ก่อน มีลำดับขั้นตอนดังนี้
1. เข้าเว็บไซต์ด้านล่าง และกดที่ลิงก์ดาวน์โหลด Microsoft Drivers for PHP for SQL Server (Windows)
https://docs.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver16
2. แตกไฟล์ที่ดาวน์โหลดมา กรณีเป็น PHP 8 64bit และ Thread Safety เป็น enabled ให้ copy ไฟล์ชื่อ php_sqlsrv_80_ts_x64.dll ไปวางไว้ใน folder php/ext
3. เปิดไฟล์ php.ini และเพิ่มบรรทัดด้านล่างลงในไฟล์ บันทึกให้เรียบร้อยแล้ว และ Restart Apache
extension=php_sqlsrv_80_ts_x64.dll