可能重复:
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_HOME
和LD_LIBRARY_PATH
。
第7行是oci_connect字符串,它导致该错误。如何连接
Oracle数据库使用oci8 / oci_connect?
提前感谢你。 问候。 -Shashi Divekar
答案 0 :(得分:0)
谢谢。你的答案很有用。我试图分配点,但它不允许我分配点数。我做了一些实验,现在这对我有用。
我设置了一些环境变量,然后运行php脚本。
我从命令行运行以下测试PHP脚本,它现在正在运行。现在我有OCI8和Oracle钱包一起工作。
<?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