J'ai Apache 2.4 et PHP 7 installé et fonctionne bien sur une AMI Amazon Linux sur AWS. De PHP, je peux très bien me connecter aux bases de données MySQL, mais maintenant je dois me connecter à une base de données SQL Server.Comment me connecter à une instance SQL Server à partir de PHP 7 sur une instance AWS Amazon Linux EC2?
Comment faire? Quel est le code PHP dont j'ai besoin pour écrire et dois-je installer des paquets/modules PHP supplémentaires pour cela? Je l'ai déjà PDO installé et essayé de l'utiliser, mais le code suivant provoque l'erreur suivante:
$dsn = 'sqlsrv:dbname=db-name;host=aws-endpoint.rds.amazonaws.com';
$user = 'user-name';
$password = 'password';
$dbh = new PDO($dsn, $user, $password);
Erreur:
PHP Fatal error: Uncaught PDOException: could not find driver in /var/www/html/php-script-name.php
Modifier: Ajouter à ma question un peu, J'ai couru un yum search pdo
à partir de l'instance EC2 et j'ai obtenu ce qui suit:
Loaded plugins: priorities, update-motd, upgrade-helper
============================================================================================================= N/S matched: pdo ==============================================================================================================
php-ZendFramework-Db-Adapter-Pdo.noarch : Zend Framework database adapter for PDO
php-ZendFramework-Db-Adapter-Pdo-Mssql.noarch : Zend Framework database adapter for MS SQL PDO
php-ZendFramework-Db-Adapter-Pdo-Mysql.noarch : Zend Framework database adapter for MySQL PDO
php-ZendFramework-Db-Adapter-Pdo-Pgsql.noarch : Zend Framework database adapter for PgSQL PDO
php70-pdo-dblib.x86_64 : PDO driver Microsoft SQL Server and Sybase databases
php71-pdo-dblib.x86_64 : PDO driver Microsoft SQL Server and Sybase databases
php-pdo.x86_64 : A database access abstraction module for PHP applications
php54-pdo.x86_64 : A database access abstraction module for PHP applications
php55-pdo.x86_64 : A database access abstraction module for PHP applications
php56-pdo.x86_64 : A database access abstraction module for PHP applications
php70-pdo.x86_64 : A database access abstraction module for PHP applications
php71-pdo.x86_64 : A database access abstraction module for PHP applications
Name and summary matches only, use "search all" for everything.
Il semble que php70-pdo-dblib.x86_64
est le plugin que je veux, alors j'ai couru yum install
dessus et mon phpinfo ressemble maintenant à ce qui suit:
Je ne Relancez Apache aussi bien, mais je reçois toujours l'erreur mentionné ci-dessus avec le code noté ci-dessus. En tant que tel, je ne pense pas qu'il s'agisse d'un doublon de la question liée dans la section des commentaires.
Copie possible de [PDOException "Impossible de trouver le pilote"] (https://stackoverflow.com/questions/2852748/pdoexception-could-not-find-driver) – miken32