Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;找不到驱动程序“;在Windows命令行上运行PHP脚本时PDO ODBC连接出错_Php_Sql Server_Windows_Command Line_Odbc - Fatal编程技术网

&引用;找不到驱动程序“;在Windows命令行上运行PHP脚本时PDO ODBC连接出错

&引用;找不到驱动程序“;在Windows命令行上运行PHP脚本时PDO ODBC连接出错,php,sql-server,windows,command-line,odbc,Php,Sql Server,Windows,Command Line,Odbc,正如标题所说,当我试图通过windows命令提示符运行php脚本时,我收到一个“找不到驱动程序”错误 当我通过WAMP服务器通过浏览器运行此页面时,不会产生任何错误,脚本运行正常。只有在通过命令提示符运行脚本时才会发生这种情况 我尝试连接的数据库位于SQL Server 2008上 在脚本中,我有以下生成错误的代码: $user = 'MyUsername'; $pass = 'MyPass'; try { $sql = new PDO('odbc:MyDB', $user, $pas

正如标题所说,当我试图通过windows命令提示符运行php脚本时,我收到一个“找不到驱动程序”错误

当我通过WAMP服务器通过浏览器运行此页面时,不会产生任何错误,脚本运行正常。只有在通过命令提示符运行脚本时才会发生这种情况

我尝试连接的数据库位于SQL Server 2008上

在脚本中,我有以下生成错误的代码:

$user = 'MyUsername';
$pass = 'MyPass';

try {
    $sql = new PDO('odbc:MyDB', $user, $pass);
} catch (PDOException $e) {
    echo 'SQL Connection failed: ' . $e->getMessage();
}

我无法与WAMP对话,但PHP可能正在为web和命令行环境使用不同的INI文件,并且命令行环境的INI文件没有加载pdo_odbc扩展,而web环境的INI文件正在加载它。检查两种环境中
php\u ini\u loaded\u file()
php\u ini\u scanned\u files()
的返回值,看看这是否是您的问题。

似乎发生在当前版本的WAMP中。regular.ini位于WAMP中的Apache文件夹下,而CLI版本位于PHP文件夹下。