Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

PHP IIS7 MSSQL Panggilan ke fungsi yang tidak ditentukan sqlsrv_connect

Saya sendiri baru saja mengalami masalah ini. Saya akhirnya memperbaikinya, jadi saya pikir saya akan membagikannya.

Masalahnya adalah, meskipun saya telah menginstal sqlsrv dll (disalin ke folder php/ext saya), dan Saya telah menambahkannya di php.ini saya, di IIS, itu 'dinonaktifkan' .

Berikut beberapa petunjuk langkah demi langkah, jika ada yang mengalami masalah yang sama lagi. (Atau untuk referensi saya di masa mendatang :))

  1. Unduh (dan instal) driver SQL Server (.dll)

    • Instal dengan menjalankan .exe, dan ketikkan path ke folder ekstensi php Anda ketika ditanya di mana untuk mendekompresnya.
      • Untuk menemukan direktori ekstensi Anda saat ini, jalankan (cmd.exe) php -i | more , dan cari baris extension_dir . (Bagi saya itu pada penekanan keempat more ). Sebagai alternatif, buat file php sederhana yang hanya berisi <?php phpinfo(); ?> , dan jalankan di browser. Ini akan memberikan informasi yang sama, tetapi dalam format yang lebih mudah dibaca.
  2. Tambahkan ekstensi ke php.ini

    . Anda
    • Untuk menemukan php.ini yang tepat, jalankan php -i | more lagi, cari Loaded Configuration File , atau periksa skrip php sederhana itu lagi (saya sangat menyarankan Anda membuatnya - ini akan menghemat waktu dan tenaga Anda). Jalur yang Anda temukan di sana adalah file yang perlu Anda edit.
    • Tambahkan baris berikut ke php.ini Anda, dan simpan:

      [PHP_SQLSRV] extention=php_sqlsrv_56_nts.dll

  3. Aktifkan ekstensi di IIS Manager

    • Di menu mulai, ketik IIS Manager , dan tekan enter.
    • Klik nama Server Anda di bilah sisi kiri
    • Klik PHP Manager
    • Di bawah PHP Extensions , klik Enable or Disable an Extension .
    • Jika ekstensi Anda tidak berada di bawah Enabled , lihat di bawah Disabled untuk itu. Ketika Anda menemukannya, klik kanan padanya, dan klik Enable di menu konteks yang muncul.
  4. Uji untuk memastikannya berhasil

    • Buka phpinfo() itu halaman yang Anda buat (Anda melakukannya, bukan?), dan lihat di bawah Registered PHP Streams . Jika Anda melihat sqlsrv dalam daftar itu, Anda sudah siap!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Batasan klausa IN di Sql Server

  2. Konvensi Penamaan Database oleh Microsoft?

  3. BCP - Nilai karakter tidak valid untuk spesifikasi pemeran saat mengimpor ke tabel dengan kolom IDENTITAS

  4. SQL:Bagaimana cara mengisi sel kosong dengan nilai baris sebelumnya?

  5. Dapatkan jumlah item dan nilainya dalam satu kolom