Prerequisites:
- Root Access: You'll need root privileges on your server to perform these steps.
- Source Code: Instead of using RPM packages (which can lead to dependency issues), we'll compile the necessary components from source code.
Installing Required Modules
unixODBC:
- Download: Get the source code from the official unixODBC website.
- Extract:
tar -xvf unixODBC-X.X.X.tar.gz
(replaceX.X.X
with the version you downloaded). - Configure and Install:
cd unixODBC-X.X.X ./configure --prefix=/usr/local --enable-gui=no make make install
- Download: Download FreeTDS version 0.82 (or a compatible older version) from
ftp://ftp.freetds.org/pub/freetds/old/0.82/freetds-0.82.tar.gz
. - Extract:
tar -xvf freetds-0.82.tar.gz
- Configure and Install:
cd freetds-0.82 ./configure --with-tdsver=8.0 --with-unixODBC=/usr/local make make install
- Download: Download FreeTDS version 0.82 (or a compatible older version) from
- Edit
freetds.conf
: Find thefreetds.conf
file (usually in/usr/local/etc
or/etc
) and add the following, replacing placeholders:[MSHOSTNAME] host = your_sql_server_hostname_or_IP port = 1433 tds version = 8.0
- Edit
Compiling mssql.so
Navigate to PHP Extension Directory:
cd /home/cpeasyapache/src/php-X.X.X/ext/mssql
(Replace
X.X.X
with your PHP version.)Prepare and Build:
phpize ./configure make make install
Activating the Extension
- Locate
php.ini
: Find your PHP configuration file (php.ini
). Its location can vary depending on your setup. - Add Extension: Open
php.ini
in a text editor and add the following line:extension="mssql.so"
- Restart Apache:
service httpd restart
Verifying Installation
To confirm that the extension is loaded, you have two options:
- Check Modules: Run
php -m | grep mssql
. If the installation was successful, you'll see "mssql" in the output. - Create a phpinfo Page: Create a PHP file with the following content:
Open this file in your browser and search for "mssql." You should see detailed information about the MsSQL extension.<?php phpinfo(); ?>
Troubleshooting Tip:
If you encounter an error during the FreeTDS configuration related to unixODBC, try using an older version of FreeTDS (like 0.82), as newer versions might have compatibility issues.
By carefully following these steps, you can manually install and enable the MsSQL extension in your cPanel/WHM environment, allowing your PHP applications to seamlessly interact with Microsoft SQL Server databases.