J'essaie de me connecter à une base de données MSSQL avec PHP et je rencontre une erreur très frustrante en essayant de me connecter. Il charge pendant une minute, avant d'imprimer le message suivant:Erreur de connexion à MSSQL avec SQLSrv et PHP 5.4.7
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08001]:
[Microsoft][SQL Server Native Client 11.0]Named Pipes Provider: Could not open a connection to SQL Server [53].
Voici mon chaîne de connexion:
DB::config("sqlsrv:Server={$dbHost} ; Database={$dbName}", $dbUser, $dbPass);
Et dans ma classe DB:
public static function config($dsn, $user, $pass)
{
self::$_pdo = @new PDO($dsn, $user, $pass);
...// intentionally left out
Je suis très déconcerté . J'ai le module suivant configuré dans mon fichier php.ini: extension = php_pdo_sqlsrv_54_ts.dll. Bien que je pense que je l'ai installé à droite et je ne reçois pas de message d'erreur sur le pilote ne fonctionne pas, ce bit de PHP imprime rien:
if (function_exists('sqlsrv_connect'))
echo "hey";
et comme vous pouvez le voir dans mon message d'erreur ci-dessus SQL Server Native Client 11 semble fonctionner. Je suis sur une plate-forme Windows. J'ai essayé de désactiver le pare-feu en vain. Je n'ai pas beaucoup d'informations sur le serveur SQL ou je le partage ici.
Ceci est ma première publication sur Stack, alors je m'excuse si je laisse de côté une information clé ou si je ne suis pas d'une certaine manière une bonne étiquette, mais toute aide est certainement appréciée.
En outre, je devrais ajouter que j'ai déjà fait trop de googling, et n'ai eu aucun succès.
Le serveur SQL autorise-t-il les connexions réseau? Avec SQL Express, ils sont désactivés par défaut. –
En fait, c'est quelque chose avec mon ordinateur essayant de se connecter.J'ai essayé de me connecter à un autre serveur et j'ai échoué. En outre, quelqu'un utilisant l'équivalent sqlsrv pour Mac pourrait se connecter d'accord. – ncksllvn