Quel est le meilleur moyen de se connecter via PHP sur une machine Linux à un server Microsoft SQL Server distant?
Le PHP ne fonctionnera que sur une machine Linux.
J'ai navigué pour la réponse la plus simple depuis un moment maintenant.
vous devez installer le pilote mssql pour php sur linux.
C'est un meilleur tutoriel pour vous.
Essayez: Pour Ubuntu
sudo apt-get install php5-sybase php5-odbc freetds-common
Editez freetds.conf puis connectez le server MSSQL avec ce PHP.
Ubuntu
sudo apt-get install php5.6-sybase freetds-common libsybdb5
AWS / Centos / Redhat
sudo yum install php56-mssql
Après cela, vous pouvez vous connecter à la database MsSql via PHP avec quelque chose comme ceci:
<?php $server = 'localhost'; $user = 'someUser'; $pass = 'somePassword'; $database = 'theDatabaseName'; try { $pdo = new \PDO( sprintf( "dblib:host=%s;dbname=%s", $server, $database ), $user, $pass ); $pdo->setAtsortingbute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo "There was a problem connecting. " . $e->getMessage(); } $query = "SELECT * FROM TestSchema.Employees"; $statement = $pdo->prepare($query); $statement->execute(); $results = $statement->fetchAll(PDO::FETCH_ASSOC); var_dump($results);
Vous pouvez résoudre MsSQL avec quelque chose comme ceci sur la command line:
tsql -H your.server.name -p 1433 -U yourusername -P yourpassword -D yourdatabasename
Microsoft a des pilotes natifs que nous pouvons utiliser. Les instructions complètes sont ici (Redhat / Ubuntu / Others) .
Ce lien contient également les étapes requirejses pour installer le server Ms SQL sur votre machine de développement (travailler sur Ubuntu, ne fonctionne pas sur AWS, mais vous pouvez simplement lancer une instance RDS ici). Il contient également des instructions de base sur la création de tables de test et de données dans la database, ainsi que du code de connectivité PHP.
Après avoir cherché et essayé les nombreuses suggestions ici et dans d'autres messages, et passé beaucoup de time, un collègue a suggéré d'essayer ADO.
Comme nous avions déjà une installation PHP avec ADO, il a littéralement fallu less de 10 minutes pour démarrer.
Si vous êtes sérieux au sujet de la connection de Linux PHP à MS-SQL, considérez ADO.
Obtenir l'extension sqlsrv à partir de microsoft pour php http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx