【问题标题】:Using SQLSRV extension in PHP CLI script在 PHP CLI 脚本中使用 SQLSRV 扩展
【发布时间】:2016-04-09 18:41:40
【问题描述】:

伙计们!

这是我第一次在 PHP CLI 中使用大型脚本,在我的脚本中使用 sqlsrv_connect 函数时遇到了“未找到”错误。 在浏览器中运行脚本没问题,连接一切正常,查询尽可能好;但是在 CLI 中,我的朋友,它会显示

Fatal error: Call to undefined function sqlsrv_connect()

会是什么,黑魔法还是新手开发者?

这就是我使用函数的方式:

$_dbip = '127.0.0.1';
$_dbnome = $nome_bd;
$_dbuid = 'sa';
$_dbpwd = 'very_strong_secret_pwd';

$conn = sqlsrv_connect($_dbip, array('Database' => $_dbnome, 'UID' => $_dbuid, 'PWD' => $_dbpwd)) or die( print_r( sqlsrv_errors(), true));

提前致谢!

【问题讨论】:

  • 你能发布你的 PHP 代码吗?可以帮助其他人确定问题所在。
  • 刚刚编辑了问题,添加了代码。不过,这很简单。

标签: php sql-server sqlsrv


【解决方案1】:

有两个php.ini 文件,一个用于CLI,一个用于Web 浏览器。

您需要确保两者都启用了扩展。

如果可能,你应该使用PDO,因为它是一个更好的扩展并且它支持SQL server

【讨论】:

  • 真的吗?我刚刚在我的安装中得到了一个php.ini,对吗?如果没有,我应该在哪里找到 CLI php.ini
  • @IvanCézanne 你在 linux 或 windows 上运行 PHP
  • 不,没有工作。刚刚得到一个php.ini,它正确激活了扩展。
  • @IvanCézanne 我很确定你有 2 个,但你可以像这样强制它stackoverflow.com/a/3057474/1880431
【解决方案2】:

刚刚意识到 SQLSRV 的 PDO 版本是激活的。我真的只得到了一个 php.ini 文件,并且只是添加了一个新行来声明没有 PDO 的 SQLSRV。

感谢您的帮助,仍然!

【讨论】:

    猜你喜欢
    • 2020-06-21
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 2023-03-08
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    相关资源
    最近更新 更多