php - 在 Windows 命令行上运行 PHP 脚本时,PDO ODBC 连接出现 "Could not find driver"错误

标签 php sql-server windows command-line odbc

就像标题所说,当我尝试通过 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 扩展和 INI 文件对于网络环境正在加载它。检查两个环境中 php_ini_loaded_file()php_ini_scanned_files() 的返回值,看看这是否是您的问题。

关于php - 在 Windows 命令行上运行 PHP 脚本时,PDO ODBC 连接出现 "Could not find driver"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7973958/

相关文章:

javascript - 如何更改动态元标记 |但在查看源代码中不起作用

php - 使用 PHP(或查询)在 MySQL 数据库中使用超过数千行的常用词

php - .htaccess mod 重写规则和符号

php - 未定义索引 : user when I display notification json array in laravel

sql-server - 分组行的排序依据和顶部

c++ - MFC C++ 通过 WM_DEVICECHANGE 通知区分两个设备

sql-server - 嵌套查询中 SQL Server 的列名无效

sql-server - CREATE DATABASE 最终克隆了一个旧数据库

PHP 在 Windows 上发送邮件导致发送电子邮件后为 'hang'

c++ - 安装 C++ 编译器