Vous trouverez ci-dessous les étapes pour installer, configurer et commencer à utiliser le pilote ODBC Microsoft SQL Server pour Linux, et l'utiliser à partir de PHP - cela suppose que vous avez déjà SQL Server disponible et configuré pour accepter les connexions via TCP/IP, également que vous avez une certaine familiarité avec Linux. Tout d'abord, le serveur SQL (et la base de données appropriée) doit être configuré pour l'authentification Windows et SQL Server. Cela nécessite un redémarrage du service SQL Server en cas de modification. De plus, le serveur doit également avoir des connexions TCP/IP activées avec un port statique défini (j'utiliserai la valeur par défaut de 1433), et le pare-feu sur l'hôte pour le serveur SQL doit autoriser les connexions à SQL Server sur le port statique.
Chargez les modules nécessaires :
-
Exécutez la ligne de commande suivante pour supprimer les installations précédentes.
yum remove php httpd php-odbc php-pear.noarch php-pecl-apc php-xml php-xmlrpc php-tidy php-intl php-imap php-pecl-memcache glibc libuuid1 krb5 openssl gcc unixodbc
-
Pour installer de nouveaux packages, exécutez la ligne de commande suivante (l'utilisateur d'installation doit avoir des privilèges d'écriture dans le répertoire /opt par défaut.)
yum install php httpd php-odbc php-pear.noarch php-pecl-apc php-xml php-xmlrpc php-tidy php-intl php-imap php-pecl-memcache glibc libuuid1 krb5 openssl gcc unixodbc
-
Ajoutez ces deux lignes à /etc/httpd/conf/httpd.conf
SetEnv ODBCSYSINI /etc SetEnv ODBCINI /etc/odbc.ini
Charger unixODBC
-
Allez sur http://www.unixodbc.org/ .
-
Cliquez sur le lien Télécharger (unixODBC-2.3.0), sur le côté gauche de la page.
-
Cliquez sur le lien Télécharger, sur la page suivante, et enregistrez le fichier dans le dossier '~/Download'
-
Sur votre ordinateur Linux, exécutez la commande suivante :
cd ~/Downloads/ tar xvzf unixODBC-2.3.0.tar.gz
-
Accédez au répertoire unixODBC-2.3.0.
cd unixODBC-2.3.0/
-
À l'invite de commande, tapez la commande suivante :
CPPFLAGS="-DSIZEOF_LONG_INT=8"
-
À l'invite de commande, tapez la commande suivante :
export CPPFLAGS
-
À l'invite de commande, tapez la commande suivante :
./configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc --enable-gui=no --enable-drivers=no --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE
-
À une invite de commande (connecté en tant que root), tapez la commande suivante
make
et appuyez sur entrée, puis
make install
et appuyez sur Entrée.
Installez le pilote Microsoft® ODBC 11
-
Exécutez la série de commandes suivante,
wget http://download.microsoft.com/download/B/C/D/BCDD264C-7517-4B7D-8159- C99FC5535680/RedHat6/msodbcsql-11.0.2270.0.tar.gz and press enter, and then tar xzvf msodbcsql-11.0.2270.0.tar.gz
et appuyez sur entrée, puis
cd msodbcsql-11.0.2270.0
et appuyez sur entrée, puis
./install.sh install --lib-dir=/usr/local/lib64 --accept-license odbcinst -q -d -n "SQL Server Native Client 11.0"
-
Modifiez maintenant /etc/odbc.ini et ajoutez une section comme celle-ci (modifiez [adresse du serveur] par l'adresse IP de votre serveur de base de données) :
[DSNname] Driver=SQL Server Native Client 11.0 Description=My Sample ODBC Database Connection Trace=Yes Server=[server address] Port=1433 Database=NSCDB_3
-
Enregistrez-le et quittez l'éditeur. À une invite de commande, tapez :
isql -v <DSN Name> <sql server authentication user name> <password>
-
Ensuite, nous exécutons trois commandes à partir du shell. (ceux-ci peuvent prendre jusqu'à 15 secondes chacun). Le troisième redémarre le serveur Web Apache.
setsebool -P httpd_can_network_connect on setsebool -P httpd_can_network_connect_db on /etc/init.d/httpd restart
si l'installation a réussi, vous devriez voir quelque chose comme ceci :
+---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL>