oracle 过程入口点 OCIstmtgetNextresult 在动态链接库 oci.dll 中找不到
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/37670354/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
THE Procedure entry point OCIstmtgetNextresult could not be located in the dynamic link library oci.dll
提问by ardi gunawan
I just installed xampp v3.2.2 on my pc. I want to create connection string to oracle using php. when i start Apache on xampp, always show popup window "OCI.DLL IS MISSING FROM your computer". I've been download oci.dll from http://www.dll-found.com/download/o/oci.dlland place it inside C/windows/SysWOW64
我刚刚在我的电脑上安装了 xampp v3.2.2。我想使用 php 创建到 oracle 的连接字符串。当我在 xampp 上启动 Apache 时,总是显示弹出窗口“OCI.DLL 从您的计算机中丢失”。我一直在从http://www.dll-found.com/download/o/oci.dll下载 oci.dll并将其放在 C/windows/SysWOW64 中
but, when i start apache on xampp again, show popup window "THE Procedure entry point OCIstmtgetNextresult could not be located in the dynamic link library oci.dll" like this screenshot
但是,当我再次在 xampp 上启动 apache 时,显示弹出窗口“过程入口点 OCIstmtgetNextresult 无法位于动态链接库 oci.dll 中”, 如下图所示
what should i do? thanks
我该怎么办?谢谢
回答by Fabien Haddadi
You need to download the whole of the Oracle Instant client that matches your OS and its bitness, e.g. 12.1.0.2 for 64 bit for example, from the Oracle website (you may need to create a free account).
您需要从 Oracle 网站(您可能需要创建一个免费帐户)下载与您的操作系统及其位数相匹配的整个 Oracle Instant 客户端,例如 64 位的 12.1.0.2。
Uncompress the contents in the folder of your choice. Add the path to this folder to your PATH environment variable.
解压缩您选择的文件夹中的内容。将此文件夹的路径添加到 PATH 环境变量中。
Copy allthe files within the main directory to your Apache/bin folder, the one that contains httpd.exe Note that a subset of these files may be copied, but I can't remember which exactly. You may work by elimination eventually, once you have the system to work.
将主目录中的所有文件复制到您的 Apache/bin 文件夹中,该文件夹包含 httpd.exe 请注意,可能会复制这些文件的一个子集,但我不记得究竟是哪一个。一旦系统可以工作,您最终可能会通过消除来工作。
Configure php.ini (the one inside Apache) to activate this module:
配置 php.ini(Apache 内部的那个)来激活这个模块:
extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
Restart Apache. It should work.
重新启动阿帕奇。它应该工作。
A similar job may be done for php in cli mode. In this case, copy the files from the Oracle Instant Client into the php folder, the one that contains php.exe, notthe ext/ folder. Similarly, edit php.ini for cli. Verify that module oci8 gets loaded by issuing a:
可以在 cli 模式下为 php 完成类似的工作。在这种情况下,将文件从 Oracle Instant Client 复制到 php 文件夹中,该文件夹包含 php.exe,而不是ext/ 文件夹。同样,为 cli 编辑 php.ini。通过发出以下命令来验证模块 oci8 是否已加载:
php -m
command from a console. Remember that your should reopen the console to load the latest PATH variable.
来自控制台的命令。请记住,您应该重新打开控制台以加载最新的 PATH 变量。
回答by v.montag
this is a problem with the x64 Edition of PHP 5.6.2x and Oracle Instant Client....i got the same error, i changed to x86
这是 PHP 5.6.2x 的 x64 版和 Oracle Instant Client 的问题....我遇到了同样的错误,我改为 x86