2015-10-04 23 views
7

Szukałem cały dzień, aby znaleźć rozwiązanie dla sqlsrv dll na php 7 VC14 x64 Temat bezpieczny i nie znalazłem rozwiązania. Czy ktoś rozwiązał ten problem:php 7 nie można zainicjować sqlsrv

[04-Oct-2015 19:48:05 UTC] PHP Warning: PHP Startup: pdo_sqlsrv: Unable to initialize module 
Module compiled with module API=20131226 
PHP compiled with module API=20141001 
These options need to match 
in Unknown on line 0 

Oto moja php7 informacje RC4:

System Windows NT 6.0 build 6002 (Windows Server 2008 Standard Edition Service Pack 2) AMD64 
Build Date Sep 29 2015 17:15:28 
Compiler MSVC14 (Visual C++ 2015) 
Architecture x64 

Odpowiedz

12

sqlsrv nie jest gotowy do PHP7 jeszcze, ale to nie prawda, że ​​nie został zwolniony od 2012. Ostatnia wersja jest od maja 2015. Maintainer to Microsoft, a wersja dla PHP7 planowana jest na początek przyszłego roku.

https://github.com/Azure/msphpsql/issues/58

Aktualizacja:

Sterownik jest dostępny dla PHP do wersji 7.1 dla systemu Linux nawet dzisiaj (marzec 2017).

https://github.com/Microsoft/msphpsql

+0

dobry znaleźć, szukałem w historii wydań rozszerzeń pecl ... –

+0

Czy ta odpowiedź nieaktualne? – reformed

+0

Tak, jest. Ta odpowiedź ma dwa lata. Możesz teraz używać sterownika sqlsrv do PHP 7.1 (nawet na Linuksie). – kba

4

Dla przyszłości referencje (testowane na Windows 7 z Xampp i PHP 7.0.13):

  1. Pobierz i zainstaluj sterowniki ODBC tutaj: https://www.microsoft.com/en-US/download/details.aspx?id=36434

  2. Pobierz bibliotekę DLL tutaj (zarówno 7.0. i 7.1.can znaleźć): https://github.com/Microsoft/msphpsql/releases

  3. Otwórz "php.ini" plik i poszukaj linii "extension_dir". Dzięki temu dowiesz się, gdzie umieścić pliki DDL. Uwaga: Na XAMPP, powinno być coś takiego: "C: \ xampp \ php \ ext"

enter image description here

  1. Umieść pliki DLL zawiera archiwum Zip w twoim katalogu rozszerzeń. Upewnij się, że wybierasz właściwą, wybierz odpowiednią wersję. Uwaga: Początkowo próbowałem użyć wersji x64, ale nie zadziałało. Następnie zastąpiłem bibliotekę DLL wersją x86 i w końcu zadziałało.

enter image description here

  1. z powrotem w swoim "php.ini" pliku, należy dodać następujący wiersz: "rozszerzenie = php_pdo_sqlsrv_7_ts.dll". Uwaga: Xampp używa wersji bezpiecznej bieżnika.

enter image description here

  1. Upewnij się, aby ponownie uruchomić usługę apache.

enter image description here

przykładowy kod do testowania:

+1

To zadziałało dla mnie. – LautaroAngelico