Php 如何在elastic beanstalk中安装pdo_sqlsrv驱动程序以连接SQL server db实例

Php 如何在elastic beanstalk中安装pdo_sqlsrv驱动程序以连接SQL server db实例,php,sql-server,amazon-web-services,Php,Sql Server,Amazon Web Services,我正在尝试将我的SQL server db实例连接到elastic beanstalk中的PHP应用程序。它给了我一个未找到的错误驱动程序1。我使用以下代码在同一环境中连接我的db实例 <?php $dbhost = $_SERVER; $dbport = $_SERVER; $dbname = $_SERVER; $charset = 'utf8' ; $dsn = "sqlsrvl:host={$dbhost};port={$dbport};dbname={$dbname};chars

我正在尝试将我的SQL server db实例连接到elastic beanstalk中的PHP应用程序。它给了我一个未找到的错误驱动程序1。我使用以下代码在同一环境中连接我的db实例

<?php
$dbhost = $_SERVER;
$dbport = $_SERVER;
$dbname = $_SERVER;
$charset = 'utf8' ;
$dsn = "sqlsrvl:host={$dbhost};port={$dbport};dbname={$dbname};charset={$charset}";
$username = $_SERVER;
$password = $_SERVER;
$pdo = new PDO($dsn, $username, $password);
?>
但这会使我的环境健康状况降低到服务器

我用这个链接作为我的参考

我是aws的新手。请帮助我解决这个问题,我们将不胜感激

添加信息:
我的平台:64位Amazon Linux 2016.09 v2.3.3,运行PHP 7.0

在尝试了多个答案后,我找到了这个问题的解决方案

问题是PHP7.0版本,我必须使用这个包

commands:
  00install_mssql:
    command: yum install -y php70-mssql
在我的应用程序根目录.ebextensions/any.config文件中添加上述代码

在我的例子中,amazon文档没有帮助我,因为它提到要安装PDO_SQLSRV驱动程序,但他们不支持该驱动程序,我不得不使用下面的示例

$dbhost = 'XXXXXXXXXXX.XXXXXXXXXXXXXXX.amazonaws.com:1433';
$dbname = 'dbname';
$charset = 'utf8' ;
$username = 'usernam';
$password = 'password';

$pdo = new PDO("dblib:host=$dbhost;Database=$dbname", $username, $password);

$pdo->setAttribute( PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL);

$tsql ="Select InvID, Number, ProfileNum, PName, InvDate, Des
       FROM dbname.dbo
       WHERE ProfileNum ='" . $client_no .  "'
       AND InvDate BETWEEN '". $inv_from_date."' AND '".$inv_to_date."'
       ORDER BY InvID";

ini_set('max_execution_time', 300);

/*  Execute the query.*/  
$stmt = $pdo->query( $tsql );

    if ( $stmt->execute() )
      { echo "Statement executed.<br>\\n";  }
    else
      {  echo "Error in statement execution.\\n";
           die( print_r(DBLib_error(), true));  }

$title = $stmt->fetchColumn(3);
print "Client Number :" . $client_no .  " <br />";
print" Client Name  &nbsp&nbsp :" . $title. ""; // Displaying Client Information

$dbhost=$\u服务器;-这是你的真实代码吗?因为这不会做你认为它会做的事。这是我用来连接的一段代码。在php/ext文件夹中安装pdo_sqlsrv驱动程序并使用extension编辑php.ini文件后,它在localhost上运行良好。extension=php_pdo_mssql.dll。我会重复我的问题。如何在elastic beanstalk php应用程序中安装pdo_sqlsrv驱动程序和扩展。感谢@Bytewave对帮助我表现出兴趣。我按照这个答案回答了,但没有帮助。
commands:
  00install_mssql:
    command: yum install -y php70-mssql
$dbhost = 'XXXXXXXXXXX.XXXXXXXXXXXXXXX.amazonaws.com:1433';
$dbname = 'dbname';
$charset = 'utf8' ;
$username = 'usernam';
$password = 'password';

$pdo = new PDO("dblib:host=$dbhost;Database=$dbname", $username, $password);

$pdo->setAttribute( PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL);

$tsql ="Select InvID, Number, ProfileNum, PName, InvDate, Des
       FROM dbname.dbo
       WHERE ProfileNum ='" . $client_no .  "'
       AND InvDate BETWEEN '". $inv_from_date."' AND '".$inv_to_date."'
       ORDER BY InvID";

ini_set('max_execution_time', 300);

/*  Execute the query.*/  
$stmt = $pdo->query( $tsql );

    if ( $stmt->execute() )
      { echo "Statement executed.<br>\\n";  }
    else
      {  echo "Error in statement execution.\\n";
           die( print_r(DBLib_error(), true));  }

$title = $stmt->fetchColumn(3);
print "Client Number :" . $client_no .  " <br />";
print" Client Name  &nbsp&nbsp :" . $title. ""; // Displaying Client Information