Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

PHP IIS7 MSSQL Gọi đến hàm không xác định sqlsrv_connect

Tôi chỉ có vấn đề này bản thân mình. Cuối cùng thì tôi cũng đã sửa được, vì vậy tôi nghĩ là mình sẽ chia sẻ.

Vấn đề là ở chỗ, mặc dù tôi đã cài đặt dll sqlsrv (được sao chép vào thư mục php / ext của tôi), Tôi đã thêm nó vào php.ini của mình, trong IIS, nó đã bị 'tắt' .

Dưới đây là một số hướng dẫn từng bước, trong trường hợp bất kỳ ai gặp phải vấn đề tương tự một lần nữa. (Hoặc để tôi tham khảo trong tương lai :))

  1. Tải xuống (và cài đặt) trình điều khiển SQL Server (.dll)

    • Cài đặt chúng bằng cách chạy .exe và nhập đường dẫn đến thư mục phần mở rộng php của bạn khi nó hỏi bạn nơi giải nén chúng.
      • Để tìm thư mục tiện ích mở rộng hiện tại của bạn, hãy chạy (cmd.exe) php -i | more và tìm dòng extension_dir . (Đối với tôi, đó là lần nhấn thứ tư của more ). Ngoài ra, hãy tạo một tệp php đơn giản chỉ chứa <?php phpinfo(); ?> và chạy nó trong trình duyệt. Điều này sẽ cung cấp cùng một thông tin nhưng ở định dạng dễ đọc hơn nhiều.
  2. Thêm tiện ích mở rộng vào php.ini của bạn

    • Để tìm đúng php.ini, hãy chạy php -i | more một lần nữa, đang tìm kiếm Loaded Configuration File hoặc kiểm tra lại tập lệnh php đơn giản đó (Tôi thực sự khuyên bạn nên thực hiện nó - nó sẽ giúp bạn tiết kiệm thời gian và công sức). Đường dẫn bạn tìm thấy tệp bạn cần chỉnh sửa.
    • Thêm các dòng sau vào php.ini của bạn và lưu nó:

      [PHP_SQLSRV] extention=php_sqlsrv_56_nts.dll

  3. Bật tiện ích mở rộng trong Trình quản lý IIS

    • Trong trình đơn bắt đầu, nhập IIS Manager và nhấn enter.
    • Nhấp vào tên Máy chủ của bạn ở thanh bên trái
    • Nhấp vào PHP Manager
    • Trong PHP Extensions , nhấp vào Enable or Disable an Extension .
    • Nếu tiện ích mở rộng của bạn không ở dưới Enabled , xem trong Disabled cho nó. Khi bạn tìm thấy nó, hãy nhấp chuột phải vào nó và nhấp vào Enable trong menu ngữ cảnh xuất hiện.
  4. Kiểm tra để đảm bảo nó hoạt động

    • Mở phpinfo() đó trang bạn đã tạo (bạn đã làm, phải không?) và xem trong Registered PHP Streams . Nếu bạn thấy sqlsrv trong danh sách đó, bạn đã hoàn thành!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008 so sánh hai bảng trong cùng một cơ sở dữ liệu và cột nhận được thay đổi

  2. Visual studio 2010 và Sql Server

  3. Thay thế cho việc sử dụng các biến cục bộ trong mệnh đề where

  4. Nhận kết quả của SQL động thành một biến cho sql-server

  5. Cách gọi dịch vụ web từ thủ tục được lưu trữ trên SQL Server