RootsLabs

More than a tool ! GitHub Google+ LinkedIn RSS

PHP, MSSQL & Linux

Progi1984 - Commentaires (0)

Trois mots qui ont dû faire grincer quelques dents lorsque les gens ont essayé de les associer.
Donc voici la technique pour donner à PHP le pouvoir de se connecter à un serveur SQL Server depuis Linux CentOs.

D’abord installer le paquet : php-mssql

yum install php-mssql

Ensuite, configurer le fichier freetds.conf (placé dans /etc) en ajoutant deux sous-parties.

# Serveur SQL Server 2000
[MSSQL_SQL2000]
        host = ip_adress
        # instance par défaut
        port = 1433
        # si pas instance par défaut, 
        # - commenter la ligne port
        # - dé-commenter la ligne instance
        #instance = MY_INSTANCE
        # version relative à SQL Server 2000
        tds version = 8.0

# Serveur SQL Server 2005
[MSSQL_SQL2005]
        host = ip_adress
        # instance par défaut
        port = 1433
        # si pas instance par défaut, 
        # - commenter la ligne port
        # - dé-commenter la ligne instance
        #instance = MY_INSTANCE
        # version relative à SQL Server 2005
        tds version = 9.0

Après cela, on va essayer de se connecter en ligne de commande :

tsql -S MSSQL_SQL2005 -U sa

Normalement, la ligne de commande devrait vous demander un mot de passe. Ensuite, rentrer une requête pour tester, et taper un Ctrl+C pour quitter.

[billy@foo ~]$ tsql -S MSSQL_SQL2005 -U sa
locale is "en_US.UTF-8"
locale charset is "UTF-8"
Password:
1> SELECT DB_NAME(dbid) as 'Database Name',
2> COUNT(dbid) as 'Total Connections'
3> FROM master.dbo.sysprocesses WITH (nolock)
4> WHERE dbid > 0
5> GROUP BY dbid
6> go

Dès lors, un redémarrage d’Apache suffit :

/etc/init.d/httpd restart

Et vous pouvez l’utiliser dans PHP :

<?php
    $hMSSQLCnx= mssql_connect('MSSQL_SQL2005', 'sa', 'password');
    if(!$hMSSQLCnx) {
        echo 'Could not connect';
    } else {
        echo 'Successful connection';
    }
    mssql_close($hMSSQLCnx);
?>

Et voilà, vous voilà connecter à SQL Server depuis Linux Centos.

Lien : http://www.freetds.org/

Ajouter un commentaire

Commentaire :