【问题标题】:PHP PDO extension not available is command linePHP PDO 扩展不可用是命令行
【发布时间】:2011-11-27 17:46:07
【问题描述】:

我已从 WAMP 迁移到 EasyPHP,现在使用 PDO 时出现问题。 当我在浏览器中查看站点时,PDO 工作正常,但在 cmd 中或当我通过 Netbeans 运行测试文件时不起作用。 我明白了:

“PDOException:找不到驱动程序”

phpinfo() 我有配置命令

cscript /nologo configure.js " --enable-snapshot-build" " --disable-isapi" " --enable-debug-pack" " --disable-isapi" " --without-mssql" " --without-pdo-mssql" " --without-pi3web" " --with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk, shared" " --with-oci8=D:\php-sdk\oracle\instantclient10\sdk, shared" " --with-oci8-11g=D:\php-sdk\oracle\instantclient11\sdk, shared" " --enable-object-out-dir=../obj/" " --enable-com-dotnet" " --with-mcrypt=static" " --disable-static-analyze"

php.ini 中,我已经取消了对这些行的注释:

extension=php_pdo_mysql.dll

extension=php_mysql.dll

关于如何让这个工作的任何想法?

【问题讨论】:

  • 听起来好像加载了错误的php.ini。 phpinfo() 应该告诉你。

标签: php mysql apache pdo easyphp


【解决方案1】:

如果您在 linux 或 windows 中安装所有 Web 服务器,通常使用 2 个不同的 php.ini。一个用于 CLI(命令行客户端),一个用于 APACHE 或无论服务器在 easyphp 中。

由于我在 linux 上并且不使用 EasyPHP,因此我无法为您提供更多帮助,但是朝那个方向看,也许系统范围的搜索可以帮助您?

【讨论】:

    【解决方案2】:

    我找到了问题的解决方案。正如 Mathieu Dumoulin 指出的,PHP 为 CLI 加载了不同的 .ini。所以我所做的就是在php文件夹下创建一个php-cli.ini文件,问题就解决了。

    【讨论】:

      【解决方案3】:

      从命令行运行php时,可以使用-c--php-ini参数指向php.ini文件来使用。这将允许您为两者使用一个 php.ini 文件。如果您自己运行脚本,还可以将 php 别名为 php -c/path/to/php.ini

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-21
        • 2017-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-03
        相关资源
        最近更新 更多