如何在XAMPP的PHP 7.0上使用OCI8?

时间:2017-03-08 17:10:09

标签: xampp php-7 oci8

我安装了oracle即时客户端12,但我无法将php与OCI8连接。我使用XAMPP 32位和PHP 7.0.15。在我的phpinfo()中没有显示OCI部分。拜托,我已经陷入这个问题几天了。 :/ 谢谢大家!

2 个答案:

答案 0 :(得分:2)

嗯,问题是XAMPP以及PECL(网站)的OCI8错误(或过时)DLL。因此,此链接here具有适用于PHP的DLL。

答案 1 :(得分:0)

由于使用的是XAMPP-32bit,因此必须检查您的php是否使用x86体系结构。

如果通过cmd进入xampp / php目录,在我的情况下是“ C:\ xampp \ php”,然后通过简单的命令“ php”启动php,则可能会显示的dll。在etc文件夹中找不到或其中哪个与Win 32不兼容

如果是这种情况,则由于win 32兼容性问题或找不到您确定存在的dll,则应检查路径变量中是否有任何找不到您使用的php的源,这里的重点是使用XAMPP中默认给定的那个。 如果您需要更新的OCI8 dll,可以在https://pecl.php.net/package/oci8上下载它,但要记得检查线程安全兼容性,也可以在phpinfo页面上找到它。就我而言,使用XAMPP提供的功能就足够了。

此后,您必须启用扩展名:

 extension=oci8_12c
php.ini配置文件中的

。尽管仅有人建议也启用extension = pdo_oci,但仅启用此功能就足够了。我的建议是仅在使用此处显示的路径安装失败时尝试尝试此操作。在我的情况下,最好检查一下您是否对扩展名设置了正确的路径:

extension_dir="C:\xampp\php\ext"

此后,您必须下载Oracle Instant Client。由于您使用的是x86体系结构,因此需要找到OIC的32位版本,但是检查哪个版本与您未注释的扩展兼容也很重要。以oci8_12c为例,它是Instantclient-basic-nt-12.2。 最后一步是将其解压缩到一个文件夹,例如“ C:\ instantclient_12_2”,并将其添加到系统的路径变量中。 重新加载Apache,并检查OCI8是否正确显示。

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

enter image description here