首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Oracle钱包中使用PHP?

如何在Oracle钱包中使用PHP?
EN

Stack Overflow用户
提问于 2012-10-18 05:45:53
回答 1查看 3.1K关注 0票数 0

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

我们计划实施甲骨文钱包。它在sqlplus中工作,如下所示。这表明钱包功能正在发挥作用。

代码语言:javascript
复制
    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中工作。我们已经安装了带有OCI8扩展的php。请指导我,特别是关于oci_connect命令和它的语法。

这是我的php文件-

代码语言:javascript
复制
    <?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

代码语言:javascript
复制
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字符串。如何使用oci 8/oci_ connect连接到Oracle数据库?

提前感谢你。致以问候。-Shashi Divekar

EN

回答 1

Stack Overflow用户

发布于 2012-10-19 04:48:01

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

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

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

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

我从命令行运行了测试php脚本,现在它已经开始工作了。至少现在我有OCI8和甲骨文钱包一起工作。

php connect.php

代码语言:javascript
复制
<?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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12947873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档