How to install PHP extension for Microsoft SQL Server under Fedora

They said PHP was dead.
PHP replied: ¯\_(ツ)_/¯

Regardless of PHP's health status, I found myself needing to connect to a Microsoft SQL Server via a PHP application running under Fedora. Finding concise details about installing the necessary drivers and extensions was not easy, so here is a blog post detailing how I did it.

NOTE: these instructions worked for me using Fedora versions 41 and 42.

Step 1 - Install Microsoft ODBC driver and required PHP packages

Issue the following commands:

curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
sudo dnf update
sudo dnf install msodbcsql18 unixODBC-devel php-pear php-devel

Step 2 - Install PECL packages

Issue the following commands:

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

Step 3 - Enable the extensions

Issue the following commands:

sudo bash -c "echo 'extension=sqlsrv.so' > /etc/php.d/20-sqlsrv.ini"
sudo bash -c "echo 'extension=pdo_sqlsrv.so' > /etc/php.d/30-pdo_sqlsrv.ini"

Step 4 - Restart httpd and PHP services

Issue the following commands:

sudo systemctl restart httpd
sudo systemctl restart php-fpm

After Fedora release upgrade

Chances are that Fedora will introduce a new PHP version after a release upgrade. For example, when upgrading from Fedora 41 to 42, PHP was bumped from version 8.3 to 8.4. This will require you to uninstall and reinstall the PHP extensions. This can be achieved with the following commands:

sudo pecl uninstall sqlsrv
sudo pecl uninstall pdo_sqlsrv
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo systemctl restart httpd
sudo systemctl restart php-fpm

fedora linux microsoft mssql php sql

Comments

New Comment

If you have a comment you'd like to share, feel free to leave it below. I moderate all comments before they are published. Markdown is enabled. See syntax for help.


I'll never share your email with anyone else.
Philip Newborough and a donkey enjoying a beer.

About

My name is and I’m a full stack web developer living and working in Lincoln, England. This website (philipnewborough.co.uk) serves as my personal homepage. When I’m not working with tech, I love to ride bicycles with my wife and friends.

An IndieWeb Webring 🕸💍