SQL Server için PHP için Microsoft Sürücüleri'ni yükleme

Bu sayfada, SQL Server için PHP için Microsoft Sürücüleri'ni PHP işlem alanına yüklemeye yönelik yönergeler sağlanır.

Sürücüleri Windows'a PIE ile yükleyin

PIE, PHP Eklenti Kurulumu olarak, eşleşen önceden derlenmiş sürücü dosyalarını yükler ve bunları PHP komut satırı yapılandırmasında etkinleştirir. Windows'un bir derleme araç zincirine ihtiyacı yok.

  1. Desteklenen bir PHP sürümünü ve SQL Server için Microsoft ODBC Sürücüsünü yükleyin.

  2. php --ini'i çalıştırın. Yüklü Yapılandırma Dosyası(none) boşsa, PHP kurulum dizinindeki php.ini-development dosyasını aynı dizindeki php.ini olarak kopyalayın.

  3. php.iniiçinde , uzantı dizinini ayarlayın ve ve zip uzantılarını etkinleştirinopenssl:

    extension_dir = "ext"
    extension=openssl
    extension=zip
    
  4. Yazılabilen bir çalışma dizininden en son kararlı pie.phardosyayı indirin. Komut, Komut Mesajı ve PowerShell'de çalışır:

    curl.exe -fL --output pie.phar https://github.com/php/pie/releases/latest/download/pie.phar
    

    GitHub CLI'niz varsa, dosyayı PHP Vakfı'nın yayınladığını doğrulayın:

    gh attestation verify --owner php .\pie.phar
    
  5. Her iki sürücüyü PATH üzerindeki PHP yürütülebilir dosyasını kullanarak yükleyin:

    php .\pie.phar install microsoft/sqlsrv
    php .\pie.phar install microsoft/pdo_sqlsrv
    
  6. Aynı PHP komut satırı çalışma zamanının her iki sürücüyü de yüklediğini doğrulayın:

    php --ri sqlsrv
    php --ri pdo_sqlsrv
    

Diğer PIE kurulum yöntemleri için PIE kullanım dokümantasyonuna bakınız.

Sürücüleri Linux ve macOS'a yükleyin

Sürücüleri ve platform bağımlılıklarını Linux ve macOS kurulum eğitiminde açıklandığı gibi PIE ile yükleyin.

Hazır sürücüleri manuel olarak kur

Önceden hazırlanmış sürücüleri Microsoft Drivers for PHP for SQL Server sayfasından indirebilirsiniz. Windows indirme, desteklenen her PHP sürümü, mimarisi ve iş parçacığı güvenlik modu için SQLSRV ve PDO_SQLSRV sürücü dosyalarını içeren bir ZIP'tir. PHP ortamınıza uygun dosyaları seçin. Dosya listesi için Sistem gereksinimlerine bakınız.

PHP'yi derlerken veya phpize kullanarak kaynak koddan sürücüleri de oluşturabilirsiniz. Sürücüleri kaynaktan derlemeyi seçerseniz, onları paylaşılan uzantılar olarak oluşturmak yerine, --enable-sqlsrv=static --with-pdo_sqlsrv=static (Linux ve macOS'ta) veya --enable-sqlsrv=static --with-pdo-sqlsrv=static (Windows'da) komutlarına ekleyerek PHP'ye statik olarak dahil etme seçeneğiniz vardır. PHP derleme sistemi ve phpizehakkında daha fazla bilgi için PHP belgelerine bakın.

Sürücü dosyasını uzantı dizininize taşıma

Sürücü dosyası, PHP çalışma zamanının bulabildiği bir dizinde bulunmalıdır. En kolayı, sürücü dosyasını varsayılan PHP uzantısı dizininize yerleştirmektir. Varsayılan dizini bulmak için Windows'ta veya php -i | sls extension_dir Linux/macOS'ta çalıştırınphp -i | grep extension_dir. Varsayılan uzantı dizinini kullanmıyorsanız, extension_dir seçeneğini kullanarak PHP yapılandırma dosyasında (php.ini) bir dizin belirtin. Örneğin Windows'ta, sürücü dosyasını c:\php\ext dizinine koyarsanız, php.ini dosyasına aşağıdaki satırı ekleyin:

extension_dir = "c:\PHP\ext"

PHP başlangıcında sürücüyü yükleme

PHP başlatıldığında SQLSRV sürücüsünü yüklemek için önce bir sürücü dosyasını uzantı dizininize taşıyın. Ardından şu adımları izleyin:

  1. SQLSRV sürücüsünü etkinleştirmek için, uzantı bölümüne aşağıdaki satırı ekleyerek php.ini'yi değiştirin ve PHP sürümünüz ile iş parçacığı güvenli veya güvenli olmayan kurulumunuza uygun şekilde dosya adını değiştirin.

    Windows'da:

    extension=php_sqlsrv_83_ts.dll
    

    Linux'ta dağıtımınız için önceden oluşturulmuş ikili dosyaları indirdiyseniz:

    extension=php_sqlsrv_83_nts.so
    

    SQLSRV ikili dosyasını kaynaktan derlediyseniz veya PIE veya PECL ile yüklediyseniz, adı sqlsrv.so:

    extension=sqlsrv.so
    
  2. PDO_SQLSRV sürücüsünü etkinleştirmek için, PHP Data Objects (PDO) uzantısı ya dahili bir uzantı olarak ya da dinamik yüklü bir uzantı olarak kullanılabilir olmalıdır.

    Windows'da, önceden oluşturulmuş PHP ikili dosyaları PDO yerleşik olarak gelir, bu nedenle yüklemek için php.ini değiştirmeniz gerekmez. Ancak PHP'yi kaynaktan derlediyseniz ve oluşturulacak ayrı bir PDO uzantısı belirttiyseniz, adı php_pdo.dll ve uzantı dizininize kopyalayıp aşağıdaki satırı php.ini dosyasına eklemeniz gerekir:

    extension=php_pdo.dll
    

    Linux'ta, sisteminizin paket yöneticisini kullanarak PHP yüklediyseniz, PDO büyük olasılıkla pdo.so adlı dinamik olarak yüklenmiş bir uzantı olarak yüklenir. PDO_SQLSRV uzantısından önce PDO uzantısı yüklenmelidir, aksi takdirde yükleme başarısız olur. Uzantılar tek tek .ini dosyaları kullanılarak yüklenir ve bu dosyalar php.inisonra okunur. Bu nedenle, pdo.so kendi .ini dosyası üzerinden yüklenirse, PDO'ya ihtiyaç duyulduktan sonra PDO_SQLSRV sürücüsünü yüken ayrı bir dosya gerekir.

    Uzantıya özgü .ini dosyalarının bulunduğu dizini bulmak için komutunu çalıştırın php --ini ve altında Scan for additional .ini files in:listelenen dizini not edin. pdo.so yükleyen dosyayı bulun. 10-pdo.ini gibi bir sayı ile başlamalıdır. Sayısal ön ek, .ini dosyalarının yükleme sırasını belirtirken, sayısal ön eki olmayan dosyalar alfabetik olarak yüklenir. 30-pdo_sqlsrv.ini (pdo.ini'nin öncesinde gelen numaradan daha büyük bir sayı kullanılarak) veya pdo_sqlsrv.ini (pdo.ini bir sayıyla öncesinde gelmiyorsa) adlı PDO_SQLSRV sürücü dosyasını yüklemek amacıyla bir dosya oluşturun ve dosya adını uygun şekilde değiştirerek aşağıdaki satırı ekleyin:

    extension=php_pdo_sqlsrv_3_nts.so
    

    SQLSRV'de olduğu gibi, PDO_SQLSRV ikili dosyayı kaynaktan derlediyseniz veya PIE veya PECL ile kurduysanız, adı pdo_sqlsrv.so'dur:

    extension=pdo_sqlsrv.so
    

    Bu dosyayı diğer .ini dosyalarını içeren dizine kopyalayın.

    Php'yi yerleşik PDO desteğiyle kaynaktan derlediyseniz, ayrı bir .ini dosyası gerekmez ve önceki satırı php.iniekleyebilirsiniz.

  3. Web sunucusunu yeniden başlat.

Uyarı

Sürücünün başarıyla yüklenip yüklenmediğini belirlemek için phpinfo() çağıran bir betik çalıştırın.

php.ini yönergeleri hakkında daha fazla bilgi için bkz. Temel php.ini yönergelerinin açıklaması.