从 PHP 创建与 Oracle 数据库的连接


Create a connection to Oracle database from PHP

我正在编写一个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>

我正在阿帕奇服务器中运行我的代码。我将代码放入htcocs文件夹中。

但问题是它给出了一个空白页。我想我需要在服务器中安装 Oracle 驱动程序。但是由于我是新手,因此我不清楚如何正确执行此操作。

任何建议不胜感激。

谢谢

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

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

我在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页面下载适用于Windows的"InstantClient Package - Basic"。因为PHP是32位的,所以使用32位版本的InstantClient。

第 3 步。解压缩即时客户端文件以C:'instantclient_11_2并编辑 Windows PATH 环境以包含C:'instantclient_11_2 。例如,在 Windows XP 上,按照Start > Control Panel > System > Advanced > Environment Variables并编辑System变量列表中的PATH

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

extension=php_oci8_11g.dll
extension=php_openssl.dll

最后,重新启动您的 Apache 服务器。