Van egy projektünk, ahol egy Microsoft SQL Server-hez kell csatlakozni, mert az ERP rendszer amihez kapcsolódunk az ebben tárolja az adatait. A projekt költöztetve lesz egy erősebb szerverre, így kénytelen voltam újra beállítani a PHP és ODBC drivereket, ami nem volt egyszerű, mert egyrészt elfelejtettem, másrészt több FPM verzió van fent, ami bonyolította a beállítást.
Szóval aki erre adja a fejét, annak leegyszerűsítendő, írtam egy sorvezetőt.
Ubuntu 22.04 a rendszer, először tegyük fel a függőségét:
sudo apt-get install unixodbc-dev
Majd jöhet a kiterjesztés telepítése
sudo pecl -d php_suffix=8.2 install sqlsrv
sudo pecl -d php_suffix=8.2 install pdo_sqlsrv
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.1/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.1/mods-available/pdo_sqlsrv.ini
sudo phpenmod -v 8.2 sqlsrv pdo_sqlsrv
sudo systemctl restart php8.2-fpm
Itt a php_suffix=8.2
csak akkor kell, ha több PHP verzió van a rendszeren. Ha ez megvan, akkor tudjuk ellenőrizni
pecl list
php8.2 -i | grep extension_dir
Az ODBC driver valamivel egyszerűbb, mivel az alábbi linken lévő shell script tökéletesen elvégzi a dolgát!