我正在编写一个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驱动程序。但由于我是新手,我对如何正确地做到这一点并不清楚。
任何建议都表示赞赏。
谢谢
答案 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服务器。