1

一段时间以来,我一直在尝试使用 PHP 连接到 Oracle DB,但没有成功。我一直在看的所有指南都提到了两种方法。一种是使用 oci8 支持编译 PHP,因为我使用 yum 安装了 PHP,所以我不知道该怎么做。另一种方法是使用 ODBC 连接,但这也不能正常工作。

我为此使用的服务器是 Oracle Enterprise Linux 机器。我已经使用 yum 安装了 PHP 和 Apache。我也通过 yum 安装了 php-odbc。我已经使用 Oracle Universal Installer 安装了 Oracle 客户端,设置了 tnsnames.ora 文件并且 tnsping 对数据库起作用。

我一直在使用这些作为 oci8 的指南: http ://www.oracle.com/webfolder/technetwork/tutorials/obe/db/oow10/php_db/php_db.htm http://php.net/manual/en/oci8 .installation.php

使用 PHP 5.3.3 并安装了 Oracle 11gR2 的完整客户端。

这是我尝试过的特定代码。

<?php
$connect = oci_connect("username","password","//databaseserver:1521/SID");
if (!$connect){
        $m = oci_error();
        echo $m['message'], "\n";
        exit;
}
else {
        print "Connected to Oracle!";
}
//Close the connection
oci_close($connect);
?>

我在执行 php -F 时遇到的错误是它无法识别命令“oci_connect”。因此,我最初质疑如何在安装 PHP 后添加此支持。我一直在阅读的内容表明它包含在 5.3 以上。但显然不是这样。

4

1 回答 1

1

经过大量研究后想通了这一点。如果 PHP 是用 yum 安装的,您不能重新编译它,而是必须安装各个模块。我遗漏了几个 Oracle 未指明的模块。这是我终于可以使用的已安装软件包。

php.x86_64
php-cli.x86_64
php-common.x86_64
php-devel.x86_64
php-pdo.x86_64
php-pear.noarch
php-pecl-apc.x86_64

通过 yum 安装这些软件包并按照本指南中的步骤操作后,我能够成功完成此操作。

于 2013-11-15T18:06:59.063 回答