【问题标题】:How to use PHP with Oracle Wallet? [duplicate]如何在 Oracle 钱包中使用 PHP? [复制]
【发布时间】:2012-10-18 05:45:53
【问题描述】:

可能重复:
Connect from PHP to an Oracle DB using an Oracle Wallet

我们计划实施 Oracle Wallet。它从 sqlplus 工作,如下所示。 这表明钱包功能正在运行。

    export ORACLE_HOME=/afs/engg/g/lcls/package/oracle/product/11.1.0.6/client
    export PATH=$ORACLE_HOME/bin:${PATH}
    export TNS_ADMIN=/afs/engg/g/lcls/tools/oracle/wallets/engg_reader


    $ sqlplus /@enggdev
    SQL> show user
    USER is "ENGG_READER"

到目前为止,我还没有成功地让它在 php 中工作。我们安装了 php OCI8 扩展。请特别指导我关于 oci_connect 命令,它是 语法。

这是我的 php 文件 -

    <?php
    // Create connection to Oracle
    PutEnv("ORACLE_HOME=/afs/engg/g/lcls/package/oracle/product/11.1.0.6/client");
    PutEnv("TNS_ADMIN=/afs/engg/g/lcls/tools/oracle/wallets/engg_reader");


    $conn = oci_connect("/", "", "$TNS_ADMIN", null, OCI_CRED_EXT);



     if (!$conn) {
     $m = oci_error();
     echo $m['message'], "\n";
     exit;
     }
     else {
     print "Connected to Oracle!\n";
     }
     // Close the Oracle connection
     oci_close($conn);
     ?>

当我执行命令$ /mccelog/package/php/php-5.4.7/bin/php connect4.php

Warning: oci_connect(): OCIEnvNlsCreate() failed. There is something wrong 
with your system - please check that ORACLE_HOME and LD_LIBRARY_PATH are set and 
point to the right directories in /afs/engg/u/cd/divekar/technical/connect4.php on
line 7

请注意,我已正确设置 ORACLE_HOMELD_LIBRARY_PATH。 第 7 行是导致该错误的 oci_connect 字符串。如何连接到 使用 oci8/oci_connect 的 Oracle 数据库?

提前感谢您。 问候。 -Shashi Divekar

【问题讨论】:

标签: php oracle connect oracle-call-interface oci8


【解决方案1】:

谢谢。你的回答很有用。我试图分配积分,但它不允许我分配积分。我做了一些实验,现在这对我有用。

我设置了一些环境变量,然后运行 ​​php 脚本。

导出 ORACLE_HOME=/nfs/lcls/package/oracle/product/11.1.0.6/client

导出 TNS_ADMIN=/nfs/lcls/tools/oracle/wallets/elog_reader

我从命令行运行以下测试 php 脚本,它现在正在运行。至少现在我有 OCI8 和 Oracle 钱包一起工作。

php 连接.php

<?php
// Create connection to Oracle

$conn = oci_connect("/", "", "MCCODEV", null, OCI_CRED_EXT);
if (!$conn) {
$m = oci_error();

echo $m['message'], "\n";
exit;
}
else {
     print "Connected to Oracle!\n";
      }
 // Close the Oracle connection
 oci_close($conn);
 ?>

再次感谢您的帮助和提供的非常好的信息。我还将更新我的 stackoverflow.com 帖子。

问候。 -Shashi Divekar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 2017-01-04
    相关资源
    最近更新 更多