尝试加载PHP_oci8.dll时启动时出现PHP警告
我正在使用XAMPP并尝试为sql配置Oracle连接 我取消了行尝试加载PHP_oci8.dll时启动时出现PHP警告,php,oracle,oracle-call-interface,Php,Oracle,Oracle Call Interface,我正在使用XAMPP并尝试为sql配置Oracle连接 我取消了行extension=php_oci8.dll的注释,起初它以一个错误结束(oci.dll丢失),但后来我从Oracle网页下载了instantclient。我尝试了10.2、11.2和12.1版本,但都不起作用。显然,我已经将这些库的路径添加到我的pathenv变量中 我在Apache启动时收到的警告是:PHP警告:PHP启动:在第0行的未知中 尝试连接时出现的错误是:PHP致命错误:调用… 我试过使用php\u oci8.dll
extension=php_oci8.dll
的注释,起初它以一个错误结束(oci.dll丢失),但后来我从Oracle网页下载了instantclient。我尝试了10.2、11.2和12.1版本,但都不起作用。显然,我已经将这些库的路径添加到我的path
env变量中
我在Apache启动时收到的警告是:PHP警告:PHP启动:在第0行的未知中
尝试连接时出现的错误是:PHP致命错误:调用…
我试过使用php\u oci8.dll
和php\u oci8\u 11g.dll
。这些文件位于我的php/ext
目录中(它们包含在xampp中),我的instantclient被添加到PATH
中,如果我禁用这些模块,则不会显示警告。我已尝试重新启动服务和计算机
你能帮我找到一个解决方案如何正确配置它吗?我正在使用具有管理权限的Windows 8.1
顺便说一句,我的phpinfo()
表示OCI8已激活(但像oci\u connect
这样的功能仍然不起作用)
编辑:当我尝试手动运行PHP时,我最终得到了显示错误的错误:
无法加载动态库“C:\Program Files(x86)\PHP\ext\PHP\oci8\u 11g.dll”-%1不是有效的Win32应用程序。在第0行的“未知”中,您能帮我找到哪里可以下载正确的版本吗?看起来您的扩展未正确安装。尝试使用pecl对其进行更新或重新安装
pecl install extname
您还应该检查php.ini中的extension_dir指令,并检查php文件夹是否添加到路径中。64位版本的instantclient存在问题。如果您曾经遇到过相同的问题,请安装32位版本的instantclient
老实说,最简单的方法就是遵循正确的指示:
我尝试了很多其他的建议,但它们都对我很不利(不仅仅是因为我使用了不同的位版本-我还按照愚蠢的建议到处复制文件,很难纠正)这是因为你的Oracle是64位的。删除它并安装32位版本的Oracle客户端,它就会工作。有另一种解决方法:安装完整的Oracle客户端,而不是基本的zip,您可以在Oracle站点(大约1Gb)获得它:
我使用的是Windows10、Apache2.4、PHP7.1(全部为x64),它可以正常工作。还尝试了PHP5.6,它也可以工作。仍然使用基本客户端zip中的php_oci8_11g.dll来匹配您的php和系统版本
您可以搜索该站点以查找较旧的客户端版本(11g、32位等),但我正在使用de 12c客户端并访问Oracle 11g企业服务器
我发现了很多相同错误的发生,但是没有一个给我这个解决方案。希望有帮助。在重新安装其他版本之前,您是否清理了所有Oracle安装?我根本没有在电脑上安装Oracle。我正在使用VPN连接连接到服务器。我下载了sqldeveloper,它运行正常(尽管它没有安装任何东西),我尝试升级和安装,但我收到一条消息:pecl-upgrade-oci8下载oci8-2.0.6.tgz。。。开始下载oci8-2.0.6.tgz(189668字节)……完成:189668字节11个源文件,生成警告:php_bin E:\xampp\php\php.exe似乎有后缀\php.exe,但是con fig变量php\u后缀不匹配错误:DSP oci8.DSP不存在。
并且正确设置了my扩展目录
,并且将my php/ext目录添加到路径
。我还将PHP dir添加到PATH中。