【问题标题】:DBD::Oracle fails to connect with OCIEnvInit when called when accessed through webserver only仅通过 Web 服务器访问时调用 DBD::Oracle 无法与 OCIEnvInit 连接
【发布时间】:2011-08-11 05:54:00
【问题描述】:

我有一个简单的 perl 脚本,它使用 DBD::Oracle 运行查询并打印结果。它在命令行中运行良好,但我也有一个 PHP 脚本可以运行它并读取输出。当通过 apache 访问 PHP 脚本时,它无法连接,并出现错误“OCIEnvInit”。

我尝试创建一个 shell 脚本来重新设置 shell 中所有可用的环境变量,但这没有帮助,我还尝试为 DBI 设置调试输出,但一无所获。脚本运行时会导致此错误的原因是什么?

【问题讨论】:

    标签: perl oracle dbi


    【解决方案1】:

    您确定当您从命令行运行脚本时在您的 shell 中设置的 ORACLE_HOME 和其他相关环境变量(例如,LD_LIBRARY_PATH)在 apache/PHP 进程中也设置为相同的值吗? ?

    【讨论】:

    • 奇怪的是命令行没有设置值,但 apache 有。我会看看删除它们是否有帮助。
    • 事实证明,从 apache 环境中删除它们确实有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 2011-12-16
    • 1970-01-01
    • 2016-05-24
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多