如何在PHP7.0和XAMPP上使用OCI8?

如何在PHP7.0和XAMPP上使用OCI8?,xampp,php-7,oci8,Xampp,Php 7,Oci8,我安装了oracle instant client 12,但无法将php与OCI8连接。我使用的是XAMPP 32位和PHP7.0.15。在我的phpinfo()中,不显示OCI部分。求你了,我在这个问题上困了几天/ 谢谢大家 问题是XAMPP和PECL(网站)的OCI8的DLL错误(或过期)。因此,此链接具有正确的PHP DLL。您必须检查您的PHP是否使用x86体系结构,因为您使用的是XAMPP-32位 如果您通过cmd进入xampp/php目录,在我的例子中,它是“C:\xampp\php

我安装了oracle instant client 12,但无法将php与OCI8连接。我使用的是XAMPP 32位和PHP7.0.15。在我的phpinfo()中,不显示OCI部分。求你了,我在这个问题上困了几天/
谢谢大家

问题是XAMPP和PECL(网站)的OCI8的DLL错误(或过期)。因此,此链接具有正确的PHP DLL。

您必须检查您的PHP是否使用x86体系结构,因为您使用的是XAMPP-32位

如果您通过cmd进入xampp/php目录,在我的例子中,它是
“C:\xampp\php”
,并通过简单的命令“php”启动php,它可能会显示在etc文件夹中找不到哪些dll,或者哪些dll与Win 32不兼容

如果是这种情况,有win 32兼容性问题或找不到您确定存在的DLL,您应该检查路径变量中是否有任何源未找到正在使用的php,这里的要点是使用XAMPP中默认提供的源。 如果您需要更新的OCI8 dll,您可以下载它,但请记住检查线程安全兼容性,您也可以在phpinfo页面上找到它。在我的例子中,使用XAMPP提供的一个就足够了

在此之后,您必须启用扩展:

 extension=oci8_12c
在php.ini配置文件中。虽然有些人建议也启用
extension=pdo_oci.
我的建议是,只有当您未能按照此处显示的路径安装时,才尝试使用此选项。在我的例子中,检查您是否设置了正确的扩展路径也很好:

extension_dir="C:\xampp\php\ext"
在此之后,您必须下载Oracle即时客户端。由于您使用的是x86体系结构,因此需要找到32位版本的OCI,但检查哪个版本与未注释的扩展兼容也很重要。在我的例子中,对于
oci8_12c
,它是
instantclient-basic-nt-12.2。
最后一步是将其解压缩到一个文件夹中,如
“C:\instantclient\u 12\u 2”
,并将其添加到系统的路径变量中。 重新加载apache并检查OCI8是否正确显示

如果您解决了该问题,则在打开phpinfo()页面时将能够看到OCI8页面: