php-sqlsrv Kurulumu

İlk olarak, PHP'nin hangi php.ini dosyasını kullandığını bulmalısın. Aşağıdaki komutu çalıştırarak bu dosyanın yolunu öğrenebilirsin:

php ini

PHP Uzantıları Klasörü Yolu

PHP uzantılarının bulunduğu yerin tipik yolları şunlardır:

    Apache (CLI) için: /usr/lib/php/20230831/

    FPM için: /usr/lib/php/20230831/

    Ayrıca, /usr/lib/php/ içinde veya /usr/local/lib/php/ gibi dizinlerde de bulunabilir.

PHP'nin uzantılar dizinini öğrenmek için şu komutu kullanabilirsin:

php -i | grep extension_dir

Bu komut, PHP'nin uzantılarının bulunduğu dizini gösterecektir. Örneğin:

extension_dir => /usr/lib/php/20230831 => /usr/lib/php/20230831

 

Modüllerin Kurulumu

Eğer modüller doğru yerde değilse, PECL ile yeniden kurulum yapman gerekebilir.

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

Yukarıdaki komutlar, modülleri doğru dizine yükleyecektir.


Modülleri Manuel Olarak Taşıma

Eğer PECL yüklemesi başarılı olsa da, modüller yanlış dizine yüklenmişse, manuel olarak taşımayı deneyebilirsin.

sqlsrv kurulumu

Örneğin:

sudo cp /path/to/sqlsrv.so /usr/lib/php/20230831/
sudo cp /path/to/pdo_sqlsrv.so /usr/lib/php/20230831/

Yol, PHP'nin uzantılar diziniyle uyumlu olmalı.

 php.ini'ye Doğru Yolu Ekleme

Sonrasında, php.ini dosyasına şu satırları eklemelisin (PHP'nin uzantılar dizininde doğru dosya yolu olduğundan emin olduktan sonra):

extension=sqlsrv.so
extension=pdo_sqlsrv.so

5. Web Sunucusunu Yeniden Başlat

Web sunucusunu yeniden başlatmalısın:

sudo systemctl restart apache2       # Apache için
sudo systemctl restart php8.3-fpm    # PHP-FPM için

 

pdo_sqlsrv.so ve sqlsrv.so Modüllerini php.ini'ye Ekleme

PHP'nin php.ini dosyasını açarak, pdo_sqlsrv.so ve sqlsrv.so modüllerini eklemelisin. Örneğin:

sudo nano /etc/php/8.4/fpm/php.ini

Veya apache2 kullanıyorsan:

sudo nano /etc/php/8.4/apache2/php.ini

Bu dosyada, aşağıdaki satırları ekleyin veya varsa, doğru şekilde etkinleştirin:

extension=sqlsrv.so
extension=pdo_sqlsrv.so

veya

/etc/php/8.4/mods-available adresine gidip ini dosya oluştur (içinde zaten bunlar yazılı)

sqlsrv kurulumu
sqlsrv kurulumu

sqlsrv kurulumu 

Modülleri aktif et

PHP modlarını etkinleştirmek için:

sudo phpenmod sqlsrv pdo_sqlsrv

 PHP-FPM veya Apache'yi Yeniden Başlatma

Yapılandırma dosyasındaki değişikliklerin geçerli olması için PHP-FPM veya Apache'yi yeniden başlatmalısın:

    PHP-FPM için:

sudo systemctl restart php8.4-fpm

    Apache için:

sudo systemctl restart apache2

 

PHP Modüllerini Kontrol Etme

Son olarak, modüllerin düzgün yüklenip yüklenmediğini kontrol etmek için şu komutu çalıştır:

php -m | grep sqlsrv

 

 

 

Makefile sqlsrv.la Error 1

php-sqlsrv Kurulumu
If you are getting this error while trying to install Microsoft Drivers for PHP for SQL server

sudo pecl install sqlsrv 
sudo pecl install pdo_sqlsrv

you should do the following:

First:

Inspect this folder /usr/lib/x86_64-linux-gnu/ and verify that the following file exists: libltdl.la

Second:

If the file does not exist, just run the following command to create a blank file:

touch /usr/lib/x86_64-linux-gnu/libltdl.la

Try to run the pecl command again

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

Third:

If the issue still persists, create a new file and copy the following content to it:
https://www.apt-browse.org/browse/debian/jessie/main/amd64/libltdl-dev/2.4.2-1.11+b1/file/usr/lib/x86_64-linux-gnu/libltdl.la
and try to install the sqlsrv and pdo_sqlsrv again.
then verify that you can see the pdo_sqlsrv module by running:

php -m

Reference
Linux and macOS Installation Tutorial for the Microsoft Drivers for PHP for SQL Server

 

Kaynak

Yorumunuzu Ekleyin
Yükleniyor...
Yükleniyor...