2013-03-29 18 views
6

Tôi đã thấy nhiều bài đăng này và đã xem xét tất cả các bài đăng, nhưng tôi vẫn không thể chạy tiện ích mở rộng SQLSRV. Bạn có thể giúp tôi không? Tôi sẽ gửi tất cả thông tin mà tôi có dưới đây:Cài đặt phần mở rộng SQLSRV cho PHP trên WAMP

  • Windows 7 64-bit
  • WampServer 2.2 32-bit
  • PHP 5.4.3 32-bit
  • Apache 2.2.22 (không thể cho biết nếu VC6 hoặc VC9)
  • Microsoft SQL server 2012 Native Client 64-bit

tôi tải SQLSRV30.exe. Tôi trích xuất các tập tin dll để C: \ wamp \ bin \ php \ php5.4.3 \ ext.

Trong php.ini của tôi:

  • extension_dir = "c: /wamp/bin/php/php5.4.3/ext/"
  • extension = php_sqlsrv_54_ts.dll
  • extension = php_pdo_sqlsrv_54_ts.dll

Tôi biết rằng SQLSRV30.exe được xây dựng dưới dạng 32 bit. Đây là lý do tại sao tôi có phiên bản 32-bit của Wamp và PHP. Tôi cũng biết rằng không có gì trong Wamp là không an toàn thread.
Nếu tôi xem phpinfo() tôi sẽ thấy phần 'sqlsrv', nhưng hiện tại tôi không thấy.

Tôi đang làm gì sai?

+0

Tham khảo: http://docs.gurock.com/testrail-admin/howto-installing-sqlsrv – Arvind

+0

Sự khác biệt giữa liên kết tham chiếu và tình huống của tôi: Tôi đang sử dụng Apache thay vì IIS. Tôi tin rằng tôi đang sử dụng một phiên bản an toàn của PHP thay vì không an toàn, nhưng làm thế nào tôi có thể chắc chắn? Dù sao, không có tập tin gọi là php_sqlsrv.dll từ trang tải xuống phần mở rộng SQLSRV PHP của Microsoft. Có rất nhiều phiên bản khác nhau của tệp sqlsrv, tất cả cho những thứ khác nhau như không an toàn chủ đề so với thread-safe, PHP 5.3.x so với PHP 5.4.x và VC6 vs VC9. Tôi tìm thấy trang tải xuống tại đây: http://www.microsoft.com/en-us/download/details.aspx?id=20098 – user1971193

+0

bạn có thể biết đó là ts (thread safe) bằng cách tìm trong thư mục php. TS cài đặt sử dụng php5ts.dll nơi không sử dụng php5.dll. – Wranorn

Trả lời

2

Tôi gặp phải một số sự cố sáng nay, nhưng tôi phát hiện ra mình đã có Máy chủ W64S x64 ... Sẽ không hoạt động chính xác.

Vì vậy, tôi đã cài đặt lại WampServer x86 và theo mọi thứ tôi có thể tìm thấy trên PHP.net (http://php.net/manual/en/sqlsrv.requirements.php). Vì tôi thấy bài đăng này trong khi tôi đang tìm giải pháp x64 của mình, tôi nghĩ tôi sẽ quay lại và cố gắng giúp bạn:

1) Nếu bạn có PHP 5.4. # Trên Wamp, tôi đặt cược TS, VC9

2) Định vị đúng 'php.ini': của tôi KHÔNG nằm trong thư mục 'bin/php #', nhưng trong thư mục 'bin/apache #' (C: \ wamp \ bin \ apache \ apache2.2.22 \ bin \ php.ini)

3) Có 2 phiên bản trình điều khiển SQLSRV, 2.0 và 3.0, đảm bảo bạn có 3.0!

Từ giao diện của nó, chúng tôi có chính xác cùng một phiên bản Wamp, vì vậy ... Tôi khá chắc chắn bạn phải sử dụng 'php_sqlsrv_54_ts.dll' và 'php_pdo_sqlsrv_54_ts.dll'.

4

Nếu bạn đang chỉnh sửa c:\wamp\bin\php\php.ini, không chỉnh sửa tệp đó chỉ cần chỉnh sửa tệp được cung cấp bởi tệp máy chủ wamp php.ini, goto wamp server php, sau đó php.ini thì bạn sẽ nhận được tệp ini.

Tôi đã gặp phải sự cố tương tự, điều này đã khắc phục sự cố cho tôi.

Ngoài ra, hãy chắc chắn rằng bạn nhấn chuột phải shortcut WAMP và "Run as Administrator"

+0

Tôi không nhận ra mình phải chạy WAMP với tư cách Quản trị viên - phải là một bước quan trọng .. –

1

Bạn có thấy dll mới của bạn trong danh sách phần mở rộng php của bạn? Nếu vậy, hãy nhấp vào nó và chắc chắn rằng có một V theo tên của nó. (nhấp chuột trái vào biểu tượng wamp xanh lá cây hy vọng) php -> php extensions -> tên của dll của bạn)

Tôi gặp vấn đề tương tự với php 5.5, SQLSRV31.exe, php_sqlsrv_55_nts.dll và php_sqlsrv_55_ts.dll. Thật kỳ diệu nó hoạt động.

+0

Đồng thời xác minh rằng tiện ích mở rộng hiển thị trong phpinfo(). Sử dụng WAMP, nhấp vào W màu xanh lá cây từ thanh trạng thái, nhấp vào localhost, và sau đó phpinfo() –