我安装了Apache 2.4和PHP 7,并且在AWS上的Amazon Linux AMI上正常工作。从PHP,我可以很好地连接到MySQL数据库,但现在我需要连接到SQL Server数据库。如何在AWS Amazon Linux EC2实例上从PHP 7连接到SQL Server实例?
我该怎么做?我需要编写什么PHP代码,并且需要安装其他PHP程序包/模块来执行此操作?我已经有PDO安装,并试图使用它,但下面的代码引发以下错误:
$dsn = 'sqlsrv:dbname=db-name;host=aws-endpoint.rds.amazonaws.com';
$user = 'user-name';
$password = 'password';
$dbh = new PDO($dsn, $user, $password);
错误:
PHP Fatal error: Uncaught PDOException: could not find driver in /var/www/html/php-script-name.php
编辑:添加到我的问题了一下,我从EC2实例运行了一个yum search pdo
,得到以下结果:
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.
好像php70-pdo-dblib.x86_64
是我想要的插件,所以我就可以跑yum install
和我的phpinfo现在看起来如下:
我没有重新启动Apache为好,但我仍然得到上面提到的错误用上面提到的代码。
因此,我不认为这是在评论部分链接的问题的重复。
[PDOException“找不到驱动程序”的可能重复](https://stackoverflow.com/questions/2852748/pdoexception-could-not-find-driver) – miken32