【问题标题】:How to enable PDO on AppServ on windows?如何在 Windows 上的 AppServ 上启用 PDO?
【发布时间】:2013-02-20 07:39:15
【问题描述】:

我第一次尝试使用 PDO 创建一个应用程序,并且当我

try {
    $db = new PDO('mysql:host=localhost;dbname=DBname', 'user', 'pass');
} catch(PDOException $e){
    echo '<div class="errorMSG">Failed to connect to database. Please try to refresh this page in 1 minute. However, if you continue to see this message please contact your system administrator.</div>';
    echo '<br /><br />' . $e->getMessage();
    exit();

}

当然,我已经将用户和 DBname 更改为正确的一次,但我得到了一个错误 找不到驱动程序

因此,通过少量搜索,我发现我需要启用 pdo_mysql,但我似乎无法找到我在哪里以及如何执行此操作? 有人可以帮助我如何启用它和/或让它在我的本地机器上工作。我有Windows 7。 我找不到我的 php.int 所在的位置。

谢谢:)

【问题讨论】:

    标签: mysql pdo appserver


    【解决方案1】:

    查看 PHP 手册的PDO installation section

    这取决于您机器的操作系统。如果您自己编译 php,并且您希望安装 MySQL PDO 驱动程序,那么您应该在编译 PHP 之前添加 --with-pdo-mysql 配置选项。

    在 Windows 机器上,只需启用这两个扩展...

    extension=php_pdo.dll <- only if below php 5.3
    extension=php_pdo_mysql.dll
    

    ...在您的php.ini 中并重新启动您的应用服务器。 php.ini 通常应该位于您的 php 目录中。它的位置取决于您安装 php 的位置。

    【讨论】:

    • 感谢您的帮助。我想我更接近真相,但问题仍然没有解决。 php.int 从未存在,它是 php.int-recomended 所以我将它重命名为 php.int 并删除了你所说的两行之前的半分号。我已经重新启动了我的应用程序,但它没有工作。它仍然给我“找不到驱动程序”另一个选项是(--with-pod-mysql)我在哪里添加这个以及如何添加?我的操作系统是 Windows 7,谢谢
    • 忘记 Windows 上的 --with-pdo-mysql。如果您在 Windows 上工作,您只需启用我在php.ini 中的回答中所述的两个扩展。试试phpinfo(); 看看当前启用了哪些驱动程序,应该有一个 PDO 部分。
    • 好的,我正在查看我的 phpinfo,这是我看到的 PDO,启用的 PDO 驱动程序是 sqlite、sqlite2,我现在正在运行 PHP 5.2.6。所以我启用了这两个 extension=php_pdo.dll extension=php_pdo_mysql.dll。
    • 更改您的php ini,看看这是否对phpinfo(); 有任何影响。我的猜测是您的 php 安装没有读取您正在编辑的php.ini。也许检查c:\windows` if there is another php.ini`,然后使用这个。
    • 在我安装了较新的版本并将 extension=php_pdo_mysql.dll 添加到我的 php.ini 文件中后它终于工作了,因为它从来不存在。谢谢
    猜你喜欢
    • 2018-11-20
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 2017-07-03
    • 2016-08-06
    相关资源
    最近更新 更多