【问题标题】:Connect from php to oracle database in windows x64在 windows x64 中从 php 连接到 oracle 数据库
【发布时间】:2011-05-29 01:55:24
【问题描述】:

我正在尝试在 windows x64 中从 php 连接到 oracle 数据库

我使用:php5、apache2、oraclexe 10.2

我的文件“test.php”如下:

 <?php
  if ($c = oci_connect("SYSTEM", "root", "//localhost:1521/XE")) {
   echo "Successfully connected to Oracle.";
   oci_close($c);
  } else {
   $err = oci_error();
   echo "Oracle Connect Error " . $err['text'];
  }
 ?>

当我打开 localhost/test.php 时,出现以下错误:

Warning: oci_connect() [function.oci-connect]: ORA-06413: Connection not open

我无法理解这个错误的原因,因为我已经从 Java 连接到同一个数据库,而且我认为 php.ini 文件配置得很好,因为我设法从 php 连接到 MySQL 数据库。 也跟着这个教程:http://www.orafaq.com/wiki/PHP_FAQ

因此,如果有人有解决方案并请 cmet 发布它

【问题讨论】:

  • 附注:在oracle.com/technetwork/topics/php/…上,Oracle 有一本关于使用 PHP 和 Oracle DB 的大手册
  • 我尝试按照此 pdf 中的所有步骤进行操作。 '也试过用'代替'但没有结果。感谢建议。这本书看起来很完整。我会尝试重新安装php并再次按照手册。

标签: php database oracle oracle-xe


【解决方案1】:

XE 是您数据库的服务名称吗?这是您必须更改的示例代码中使用的名称。

【讨论】:

  • 是的。在 Oracle SQL Developer 中,属性如下所示:connection_name:projecto_bd, username:SYSTEM, hostname:localhost, port:1521, SID:xe
  • 使用“lsnrctl status”验证。这也将确保侦听器已启动并且数据库已注册。错误本身是通用的。您需要 PHP 的一些调试输出来查看它实际失败的位置。
  • 我在 php 脚本的开头添加了这段代码:ini_set ("display_errors", "1");错误报告(E_ALL);但没有收到错误消息。还使用了 lsnrctr 并运行命令:status 并获得了三个监听端点状态,其中 Andriy-PC 主机 = 端口 = 1521 主机 = 127.0.0.1 和端口 = 8080 这里有一些错误吗?
猜你喜欢
  • 1970-01-01
  • 2014-01-12
  • 2014-01-25
  • 2015-02-20
  • 1970-01-01
  • 2019-12-30
  • 2011-08-22
  • 2013-10-21
  • 1970-01-01
相关资源
最近更新 更多