Magazine High tech

Installer l'extension MSSQL / PHP - SQL SERVER (DEBIAN)

Publié le 04 juillet 2008 par Tarik Alaoui

Comment installer l'extension php_mssql sous une Debian (peu importe la version) ?
tests effectués sur une Etch et une Sarge.

Prélude :

Ce tutorial vous expliquera comment installer et configurer l'extension php mssql pour se connecter à une base SQL SERVER (2000 ou 2005) depuis un serveur Linux Debian.

Après plusieurs essai infructueux de plusieurs méthodes glanées sur le web, j'ai finalement réussi à faire fonctionner la librairie php mssql sur un serveur linux debian

How to :

Avant de commencez, assurez-vous que votre gestionnaire aptitude est bien à jours au niveau des packets.

Pour celà, faites la commande suivante :

apt-get update

apt-get dist-upgrade

Commencez par installer apache2 à l'aide de la commande suivante :

apt-get install apache2

Ensuite, installez php4  :

apt-get install php4
apt-get install php4-dev

apt-get install libapache2-mod-php4

Installez Freetds et freetds-dev avec les commandes suivantes :

apt-get install freetds

apt-get install freetds-dev

déplacez-vous dans votre repertoire /user/src

ensuite, executez cette commande :

apt-get source php4

une fois la décompression des sources de php4 terminé, deplacez-vous dans le repertoire suivant :

cd /usr/src/php4-4.4.4/ext/mssql

tapez la commande suivante :

export PHP_PREFIX="/usr"
$PHP_PREFIX/bin/phpize4
 
Ensuite : 
./configure --with-mssql --with-php-config=$PHP_PREFIX/bin/php-config4
puis : 
make
 
Copiez le nouveau fichier compilé mssql.so dans le dossier module de php4, soit : 
cp /usr/src/php4-4.4.4/ext/mssql/modules/mssql.so /usr/lib/php4/20050606+lfs/
 
donnez les bon droits au fichier avec l'instruction suivante : 
chmod a+x /usr/lib/php4/20050606+lfs/mssql.so
 
et modifier le fichier php.ini avec la commande suivante : 
nano /etc/php4/apache2/php.ini
recherche la section des extensions dynamiques, et sous extension=mysql.so, ajoutez : 
extension=mssql.so
redemarrer appache2 à l'aide de l'instruction suivante : /etc/init.d/apache2 restart
 
Il ne vous reste plus qu'à configurer freetds pour ajouter une connexion sql server (qui servira ensuite dans les scripts php), soit : 
nano /etc/freetds/freetds.conf
[CONSQL]
host = xxx.xxx.xxx.xxx
port = 1433
tds version = 8.0
Remarque : il est important de préciser le port TP utilisé par SQL Server (1433) et d'utiliser la version tds 8.0 (compatible sql server 2005, procédure IN / OUT, bigint)

Pour tester php / mssql :
<?php
//error_reporting(5);
$conn = mssql_pconnect("CONSQL", "$user", "$password")
or die("Error connecting host : CONSQL");
$selected = mssql_select_db('$database', $conn)
or die("Couldn't open database $database");
$proc = mssql_init("test_linux", $conn);
$varin = "test";
$varout = "";
mssql_bind($proc, "@varin", &$varin, SQLVARCHAR, FALSE, false);
mssql_bind($proc, "@varout", &$varout, SQLVARCHAR,TRUE, false, 50);
$resultat = mssql_execute($proc);
print $varout;
?>
 

Retour à La Une de Logo Paperblog

A propos de l’auteur


Tarik Alaoui 20 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine