Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Halaman ini menyediakan instruksi untuk memuat Driver Microsoft untuk PHP untuk SQL Server ke ruang proses PHP.
Instal driver di Windows dengan PIE
PIE, PHP Installer untuk Ekstensi, menginstal file driver yang sudah dikompilasi dan mengaktifkannya dalam konfigurasi baris perintah PHP. Windows tidak memerlukan rantai alat build.
Instal versi PHP yang didukung dan Microsoft ODBC Driver untuk SQL Server.
Jalankan
php --ini. Jika File Konfigurasi yang Dimuat adalah(none), salin php.ini-development dari direktori instalasi PHP ke php.ini di direktori yang sama.Pada php.ini, atur direktori ekstensi dan aktifkan ekstensi dan
opensslzip:extension_dir = "ext" extension=openssl extension=zipDari direktori kerja yang dapat ditulisi, unduh
pie.pharstabil terbaru. Perintah ini bekerja di Command Prompt dan PowerShell:curl.exe -fL --output pie.phar https://github.com/php/pie/releases/latest/download/pie.pharJika Anda memiliki GitHub CLI, pastikan bahwa PHP Foundation telah mempublikasikan file tersebut:
gh attestation verify --owner php .\pie.pharInstal kedua driver dengan menggunakan executable PHP pada
PATH:php .\pie.phar install microsoft/sqlsrv php .\pie.phar install microsoft/pdo_sqlsrvPastikan bahwa runtime PHP baris perintah yang sama memuat kedua driver tersebut:
php --ri sqlsrv php --ri pdo_sqlsrv
Untuk metode instalasi PIE lainnya, lihat dokumentasi penggunaan PIE.
Instal driver di Linux dan macOS
Instal driver dan ketergantungan platformnya dengan PIE seperti yang dijelaskan dalam tutorial instalasi Linux dan macOS.
Instal driver bawaan secara manual
Anda dapat mengunduh driver yang sudah dibangun dari halaman Microsoft Drivers for PHP for SQL Server. Unduhan Windows adalah ZIP yang berisi file driver SQLSRV dan PDO_SQLSRV untuk setiap versi PHP yang didukung, arsitektur, dan mode keamanan thread. Pilih file yang sesuai dengan lingkungan PHP Anda. Lihat Persyaratan sistem untuk daftar file.
Anda juga dapat membangun driver dari sumber baik saat membangun PHP atau dengan menggunakan phpize. Jika Anda memilih untuk membangun driver dari sumber, Anda memiliki opsi untuk membuatnya secara statis ke PHP alih-alih membangunnya sebagai ekstensi bersama dengan menambahkan --enable-sqlsrv=static --with-pdo_sqlsrv=static (di Linux dan macOS) atau --enable-sqlsrv=static --with-pdo-sqlsrv=static (di Windows) ke ./configure perintah saat membangun PHP. Untuk informasi selengkapnya tentang sistem build PHP dan phpize, lihat dokumentasi PHP.
Memindahkan file driver ke direktori ekstensi Anda
File driver harus berada di direktori tempat runtime PHP dapat menemukannya. Paling mudah untuk menempatkan file driver di direktori ekstensi PHP default Anda - untuk menemukan direktori default, berjalan php -i | sls extension_dir di Windows atau php -i | grep extension_dir di Linux/macOS. Jika Anda tidak menggunakan direktori ekstensi default, tentukan direktori dalam file konfigurasi PHP (php.ini), menggunakan opsi extension_dir . Misalnya, pada Windows, jika Anda meletakkan file driver di direktori Anda c:\php\ext , tambahkan baris berikut ke php.ini:
extension_dir = "c:\PHP\ext"
Memuat driver di startup PHP
Untuk memuat driver SQLSRV saat PHP dimulai, pertama-tama pindahkan file driver ke direktori ekstensi Anda. Lalu, ikuti langkah-langkah berikut:
Untuk mengaktifkan driver SQLSRV, ubah php.ini dengan menambahkan baris berikut ke bagian ekstensi, sesuaikan nama file sesuai dengan versi PHP Anda dan jenis instalasi apakah aman utas (thread-safe) atau tidak aman utas (non-thread safe).
Di Windows:
extension=php_sqlsrv_83_ts.dllDi Linux, jika Anda mengunduh biner bawaan untuk distribusi Anda:
extension=php_sqlsrv_83_nts.soJika Anda mengompilasi biner SQLSRV dari sumbernya, atau menginstalnya dengan PIE atau PECL, namanya adalah sqlsrv.so:
extension=sqlsrv.soUntuk mengaktifkan driver PDO_SQLSRV , ekstensi PHP Data Objects (PDO) harus tersedia, baik sebagai ekstensi bawaan maupun ekstensi yang dimuat secara dinamis.
Di Windows, biner PHP bawaan dilengkapi dengan bawaan PDO, sehingga tidak perlu memodifikasi php.ini untuk memuatnya. Namun, jika Anda mengkompilasi PHP dari sumber dan menentukan ekstensi PDO terpisah yang akan dibuat, namanya adalah
php_pdo.dll, dan Anda harus menyalinnya ke direktori ekstensi Anda dan menambahkan baris berikut ke php.ini:extension=php_pdo.dllDi Linux, jika Anda menginstal PHP menggunakan manajer paket sistem Anda, PDO mungkin diinstal sebagai ekstensi yang dimuat secara dinamis bernama pdo.so. Ekstensi PDO harus dimuat sebelum ekstensi PDO_SQLSRV, atau pemuatan gagal. Ekstensi dimuat menggunakan file .ini individual, dan file-file ini dibaca setelah php.ini. Oleh karena itu, jika pdo.so dimuat melalui file .ini sendiri, file terpisah yang memuat driver PDO_SQLSRV setelah PDO diperlukan.
Untuk mengetahui direktori mana file .ini khusus ekstensi berada, jalankan
php --inidan perhatikan direktori yang tercantum di bawahScan for additional .ini files in:. Temukan file yang memuat pdo.so. Ini harus diawali dengan angka, seperti 10-pdo.ini. Awalan numerik menunjukkan urutan pemuatan file .ini, sementara file yang tidak memiliki awalan numerik dimuat menurut abjad. Buat file untuk memuat file driver PDO_SQLSRV yang disebut 30-pdo_sqlsrv.ini (angka apa pun yang lebih besar dari yang awalan pdo.ini berfungsi) atau pdo_sqlsrv.ini (jika pdo.ini tidak diawali dengan angka), dan tambahkan baris berikut ke dalamnya, mengubah nama file yang sesuai:extension=php_pdo_sqlsrv_3_nts.soSeperti SQLSRV, jika Anda mengompilasi biner PDO_SQLSRV dari sumber, atau menginstalnya dengan PIE atau PECL, namanya adalah pdo_sqlsrv.so:
extension=pdo_sqlsrv.soSalin file ini ke direktori yang berisi file .ini lainnya.
Jika Anda mengkompilasi PHP dari sumber dengan dukungan PDO bawaan, Anda tidak memerlukan file .ini terpisah, dan Anda dapat menambahkan baris sebelumnya ke php.ini.
Mulai ulang server web.
Catatan
Untuk menentukan apakah driver berhasil dimuat, jalankan skrip yang memanggil phpinfo().
Untuk informasi selengkapnya tentang arahan php.ini , lihat Deskripsi arahan php.ini inti.