J'ai rencontré pas mal de messages sur le même sujet, mais je suis toujours incapable de le résoudre et je le demande. J'essaie de me connecter à SQL dans mon script php. Ma chaîne de connexion est:
/* Specify the server and connection string attributes. */
$serverName = "xxx-PC\SQLExpress";
$connectionOptions = array("Database"=>"Salesforce");
$conn = sqlsrv_connect($serverName, $connectionOptions);
if($conn === false)
{
die(print_r(sqlsrv_errors(), true));
}
J'ai installé et inclus les éléments suivants dans mon fichier php.ini
Situé sous le dossier wamp: C:\wamp\bin\php\php5.4.16
:
extension=c:/wamp/bin/php/php5.4.16/ext/php_sqlsrv_53_ts.dll
Mon wampserver
fonctionne correctement, de même que les services wampapache
et wampsqld
. Je suis capable d'exécuter php.exe avec succès. Cependant, je ne peux pas établir la connexion à SQL Server 2008 R2
Où se trouve ma base de données. S'il vous plaît aider!
EDIT 1: le serveur Wamp exécute le service wampmysql pendant que je tente de me connecter à SQL Server 2008 R2
. Cela pourrait-il être la raison? Devrais-je utiliser MySQL
au lieu de SQL
? Des pointeurs?
EDIT 2: Je ne vois pas du tout la section sqlsrv
lorsque je lance phpinfo()
bien que j’ai ajouté extension=php_sqlsrv_54_ts.dll
Dans le fichier php.ini
Situé dans le dossier bin du serveur Wamp.
This m'a aidé à arriver à ma réponse. Il y a deux fichiers php.ini
Situés, dans mon cas, pour wamp. L'un se trouve sous le dossier php et l'autre dans le dossier C:\wamp\bin\Apache\Apachex.x.x\bin
. Lors de la connexion à SQL via la fonction sqlsrv_connect
, Nous faisons référence au fichier php.ini
Dans le dossier Apache
. Ajoutez les éléments suivants (selon votre version) à ce fichier:
extension=c:/wamp/bin/php/php5.4.16/ext/php_sqlsrv_53_ts.dll
Lorsque vous installez des extensions tierces, vous devez vous assurer que tous les paramètres de compilation correspondent:
Les problèmes courants incluent:
php.ini
(C'est typique avec les bundles); le chemin de droite est indiqué dans phpinfo()
.Ne pas être capable de voir les erreurs de démarrage; ceux-ci devraient apparaître dans les journaux Apache, mais vous pouvez également utiliser la ligne de commande pour le diagnostiquer, par exemple:
php -d display_startup_errors=1 -d error_reporting=-1 -d display_errors -c "C:\Path\To\php.ini" -m
Si tout va bien, vous devriez voir sqlsrv
dans le résultat de la commande et/ou phpinfo()
(selon le type de SAPI que vous configurez):
[Modules PHP]
bcmath
calendrier
Coeur
[...]
SPL
sqlsrv
la norme
[...]
Si vous utilisez les pilotes Microsoft 3.1, 3.0 et 2.0 . Vérifiez que votre version PHP est déjà installée avec IIS.
Utilisez ce script pour vérifier la version de php:
<?php echo phpinfo(); ?>
OR
Si vous avez installé PHP Manager dans IIS à l'aide du programme d'installation de la plate-forme Web, vous pouvez en vérifier la version.
Ensuite:
Si vous utilisez une nouvelle version de PHP (5.6), veuillez télécharger Pilotes d'ici
Pour la version PHP inférieure à 5.6 - veuillez télécharger Pilotes d'ici
Ensuite, utilisez le gestionnaire PHP pour ajouter les pilotes téléchargés dans le fichier php config
. Vous pouvez le faire comme indiqué ci-dessous (parcourez les fichiers et appuyez sur OK). Puis redémarrez le serveur IIS
Si cette méthode ne fonctionne pas, veuillez changer le version php et essayez d'exécuter votre script php. Pour modifier le paramètre php version
, Abaissez-le et essayez de comprendre ce qui s'est passé.Vous pouvez ensuite télécharger les pilotes pertinents pour suivre les étapes ci-dessus.
Commencez par vérifier que l’extension est correctement chargée dans phpinfo();
(quelque chose comme sqlsrv
devrait apparaître). Sinon, l'extension n'est pas correctement chargée. Vous devez également redémarrer Apache après avoir installé une extension.
j'ai même cela parce que dans httpd.conf dans Apache PHPIniDir D:/wamp/bin/php/php5.5.12
c'était incorrect