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

时间:2014-12-22 08:24:45

标签: php oracle apache

我正在编写一个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驱动程序。但由于我是新手,我对如何正确地做到这一点并不清楚。

任何建议都表示赞赏。

谢谢

2 个答案:

答案 0 :(得分:0)

您需要Oracle Instant Client,Pecl和oci8驱动程序。 Oracle手册:

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

答案 1 :(得分:0)

我在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步。下载&#34; InstantClient套餐 - 基本&#34;适用于OTN InstantClient page的Windows。因为PHP是32位,所以使用32位版本的InstantClient。

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

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

extension=php_oci8_11g.dll
extension=php_openssl.dll

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