我安裝了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