我们有两个 oracle 帐户 log_reader 和 log_writer。log_reader 具有读取数据的读取权限。log_writer 具有将数据写入数据库的写入权限。该应用程序从 Apache 运行并使用 Perl 和 PHP。密码被硬编码到 php/perl 脚本中。最近我们正在尝试迁移到 Oracle Wallet 以消除硬编码密码。Oracle 钱包已配置并且以下工作 - 用于 log_reader 和 log_writer 帐户的 sqlplus 和 perl。用于 log_reader 帐户的 php。php 不适用于 log-writer 帐户。我们收到以下错误 -
insert err = 1031:ORA-01031: insufficient privileges
PHP 代码 -
$conn = OCIPLogon("/", "", "SLACDEV", "", OCI_CRED_EXT);
简而言之,使用 Oracle Wallet,sqlplus 和 Perl 没有问题。但是对于 PHP,当我们尝试将数据写入/插入数据库时,我们会遇到问题。阅读 PHP 工作正常。
到目前为止我已经尝试过,但没有运气 -
$conn = OCIPLogon("/", "", "SLACDEV", "", OCI_CRED_EXT);
$conn = OCIPLogon("/", "", "SLACDEV", "", OCI_CRED_EXT+OCI_SYSOPER);
$conn = OCIPLogon("/", "", "SLACDEV", "", OCI_CRED_EXT+OCI_SYSDBA);
php 不适用于 log-writer 帐户。我们收到以下错误 -
insert err = 1031:ORA-01031: insufficient privileges