【问题标题】:vs.php remote database connectionvs.php 远程数据库连接
【发布时间】:2009-09-18 08:03:34
【问题描述】:

我目前在开发客户端上使用 vs.php。 (vs.php 是一个使用 Visual Studio shell 的 php 开发 IDE)。

问题在于连接到我们的远程 sql 2005 数据库。连接尝试在 1 秒内失败。我可以从同一个客户端使用 telnet 毫无问题地连接到数据库。

数据库设置为允许远程连接。

$srv = "xxx.xxx.xxx.xxx, xxxx";
$ci = array();
$ci["UID"] = "xxxxx_user";
$ci["PWD"] = "xxxxx";
$ci["DATABASE"] = "xxxx";
$conn = sqlsrv_connect($srv, $ci) OR DIE("no connection");

出于某种原因,调试器不会抛出任何关于连接失败原因的错误消息。

我似乎无法找到解决方案为什么它会立即断开我的连接,内置 vs.php 网络服务器中是否有任何设置,或者 vs.php 本身中是否有任何硬编码?还是跟vs.php的php配置有关系?通常是否有任何 apache 或 php 设置可能是导致此问题的原因?或者可能是数据库的东西? 我翻遍了它,但找不到任何东西。

我希望我能提供更多信息,但我不知道为什么会失败。

任何帮助将不胜感激

乔纳斯

【问题讨论】:

  • sql server 上的审计日志是空的,所以我的猜测是本地 webserver/php 拒绝连接。可能是一些 vs.php 的废话,但我无法确认。但是我离开了那个解决方案。感谢您有兴趣提供帮助

标签: php sql-server-2005 apache


【解决方案1】:

您是否尝试过调整连接选项数组中“DATABASE”键的大小写? documentation 建议这应该是“数据库” - 可能值得一试......

$srv = "xxx.xxx.xxx.xxx, xxxx";
$ci = array();
$ci["UID"] = "xxxxx_user";
$ci["PWD"] = "xxxxx";
$ci["Database"] = "xxxx";
$conn = sqlsrv_connect($srv, $ci) OR DIE("no connection");

【讨论】:

  • 您好,感谢您的回复。是的,这是正确的,我实际上已经尝试过所有小写/所有大写和首字母大写作为数据库键。还尝试了其他键为小写,但没有成功。我很欣赏你的回答,这是一个有效的观点。
  • 是的,似乎连接在本地被拒绝。但是,我们用 php/fastCGI 设置 IIS 并改用远程项目已不再重要。感谢您努力提供帮助!
猜你喜欢
  • 1970-01-01
  • 2016-08-05
  • 2013-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-05
相关资源
最近更新 更多