【问题标题】:Create a connection to Oracle database from PHP从 PHP 创建到 Oracle 数据库的连接
【发布时间】:2015-02-20 08:01:02
【问题描述】:

我正在编写一个 PHP 文件来读取一些日志文件并将内容写入 Oracle 数据库。我尝试如下创建与数据库的连接。

$conn = oci_pconnect('myservice','oracle123','192.168.0.126:2483/XE');

if (!$conn) {
  $e = oci_error();
  echo trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

这是我的完整代码。

<!DOCTYPE html>
<html>
<body>

<?php

$conn = oci_pconnect('robiservice','oracle123','192.168.0.26:2483/XE');

if (!$conn) {
 $e = oci_error();
 echo trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
} 

$myfile = fopen("14121800_ussd_cdr.file", "r") or die("Unable to open file!");

if ($myfile) {
 while (($line = fgets($myfile)) !== false) {
    echo $line . "</br>";
}
} else {
 // error opening the file.
} 
fclose($myfile);

?>

</body>
</html>

我在 apache 服务器上运行我的代码。我将代码放入 htcocs 文件夹中。

但问题是它给出了一个空白页。我想我需要在服务器中安装 Oracle 驱动程序。但是由于我是新手,所以我不清楚如何正确地做到这一点。

欢迎提出任何建议。

谢谢

【问题讨论】:

  • 首先在你的开发环境中启用你的PHP-error-reporting,这样你就不会得到一个空白页面,而是一个错误信息。
  • 如果有错误,请您检查服务器日志并在此处发布吗?

标签: php oracle apache


【解决方案1】:

我在 Zend 框架中创建了如下连接:

第 1 步。application/config/application.ini 中设置您的数据库参数:

resources.multidb.db2.adapter = "Oracle"
resources.multidb.db2.charset = "utf8"
resources.multidb.db2.host = "183.19.163.149/pankaj_india"
resources.multidb.db2.port = "1521"
resources.multidb.db2.username = "username"
resources.multidb.db2.password = "password"
resources.multidb.db2.dbname = "databasname"

第 2 步。OTN InstantClient page 下载适用于 Windows 的“InstantClient 包 - 基本”。因为 PHP 是 32 位的,所以使用 InstantClient 的 32 位版本。

第 3 步。 将 InstantClient 文件解压缩到 C:\instantclient_11_2 并编辑 Windows PATH 环境以包含 C:\instantclient_11_2。例如,在 Windows XP 上,关注Start &gt; Control Panel &gt; System &gt; Advanced &gt; Environment Variables 并在System 变量列表中编辑PATH

第 4 步。在您的 php.ini 文件中,启用以下行:

extension=php_oci8_11g.dll
extension=php_openssl.dll

最后,重启你的 Apache 服务器。

【讨论】:

  • 请花时间阅读how to format your posts,然后编辑您的答案。目前它非常难以阅读,只会吸引其他用户的反对意见。
  • 谢谢,但我尝试了很多并强调如何格式化帖子
  • 我已编辑您的答案以演示格式的使用。请注意差异并努力改进您未来的答案。
  • 谢谢亲爱的,我会照你的建议做的
【解决方案2】:

您需要 Oracle Instant Client、Pecl 和 oci8 驱动程序。 甲骨文手册:

http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-25
    • 2014-01-25
    • 2019-12-30
    • 2011-08-22
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 2011-05-29
    相关资源
    最近更新 更多