【问题标题】:Apache not loading PHP oracle dllApache没有加载PHP oracle dll
【发布时间】:2011-03-10 19:25:51
【问题描述】:

在 win 64 上,我安装了 apache、php 等。一切正常,除了 oracle 部分。我可以从 sql developer 连接到 oracle,这意味着我的 tnsnames.ora 文件是正确的。当 apache 启动时,日志中没有错误。但是当我尝试从我的数据库连接到 oracle 时,没有加载 oracle 模块 php_oci8.dll。我做错了什么?

【问题讨论】:

    标签: php oracle apache dll


    【解决方案1】:

    dll 是否列在 php.ini 中?根据 Instant Client 的版本,可以是“php_oci8.dll”或“php_oci8_11g.dll”。您是否在取消其中一个注释后重新启动了服务器?

    您是否编辑了正确的 php.ini(愚蠢的问题,但可能至少有两个,1 个用于 Apache,1 个用于命令行)。

    OCI8 模块是否显示在 phpinfo() 函数的输出中?

    php_error.log 是否包含任何可疑内容?

    您可能想查看“The Underground Oracle and PHP Manual”以获取详细的安装/配置帮助,并查看PHP Developer Center 中与 PHP 相关的资源。

    【讨论】:

    • 是的,我编辑了正确的 ini。 OCI8 模块没有出现在 phpinfo() 函数中。是的,我在更改ini文件后重新启动了服务器。是的,该文件已在 ini 文件中列出且未注释。我不知道在哪里检查 php_error.log,我应该在哪里检查? Apache 错误日志不包含任何错误。
    • 检查 php.ini,你应该有一个类似于 "error_log = "C:/wamp/logs/php_error.log" 的行(我正在使用 wampserver.com)。如果取消注释该行需要,将error_reporting设置为E_ALL等。dll文件是否存在于PHP的“ext”目录中?php.ini中的“extension_dir”是否正确指向它?
    • 是的,它存在并且指向正确。 php错误日志中也没有任何内容:(
    • 我需要设置任何环境变量吗?像 ORACLE_HOME 等?
    • 不要这么认为,我没有设置 ORACLE_HOME 并且我的 Oracle XE 像魅力一样工作。除了看起来它在模块加载部分失败,而不是在任何具有连接性的东西上。您可以尝试使用 dl() 函数动态加载模块吗? (您可能需要使用命令行 PHP 对其进行测试,因为从 5.3.0 开始,Apache 模块 PHP 已禁用它)。也许也可以查看forums.devshed.com/php-development-5/…,我只是很困惑没有错误消息......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 2011-06-28
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    相关资源
    最近更新 更多