我在通过XAMPP启动Apache服务器时遇到了一些问题。我已经安装了XAMPP版本5.6.3。
当我从xampp控制面板启动Apache服务器时,会显示一条错误消息,如下所示:
单击“确定”按钮,将显示另一个对话框,如下所示:
问题是我想使用OCI而不是mysql。所以我已经注释掉了mysql扩展,并在 php.ini 文件中取消注释了OCI扩展。
php_oci8_12c.dll 文件是xampp中php的extensions(ext)文件夹中唯一可用的文件。因此我在php.ini中包含了该行,如上图所示。
从那以后我收到了这个错误。
我也安装了即时客户端12.1但没有运气。我还尝试从instantclient_12_1复制OCI.dll并将其粘贴到c:/ xampp / php和c:/ xampp / apache / bin中。错误仍然存在。
需要帮助..
UPDATE:我在环境变量的PATH中删除了其他oracle路径,只保留了instantclient路径。现在我收到了这个错误..
答案 0 :(得分:2)
好吧,我已经安装了XAMPP 1.8.2,PHP 5.4和Apache 2.0,我使用php_oci8_11g.dll并且工作正常。
您正在尝试使用php_oci8_12g.dll,我建议您阅读此链接http://www.oracle.com/technetwork/articles/dsl/technote-php-instant-12c-2088811.html,并指定运行oci12g。
答案 1 :(得分:1)
我解决了这个问题。问题是我试图在32位PHP中使用64位DLL(php_oci8_12g.dll)。我下载了一个32位的instantClient,现在可以使用了! : - )
instantclient-basic-nt-12.1.0.2.0.zip
答案 2 :(得分:1)
卡住2-3天后,我解决了这个问题。
在遵循步骤之前,请记住一些事情。 1-我正在使用Win 8.1 64位。 2-使用Xampp 5.6.31 32位。 3-使用instaclient 12.2.0.1 64位(因为我的win 8.1是64位)。
现在下面是步骤-
第1步-下载xampp 5.6.31 32位并安装。
第2步-下载并安装oracle 11g R2
第3步-下载并安装OTN(oracle instaclient 12.2.0.1)
享受!!!。
答案 3 :(得分:0)
我连续几天遇到与OCI8和XAMPP有关的问题,问题显示为:
致命错误:调用未定义函数oci_connect()
我能够使用XAMPP默认提供的php对其进行更正。我也使用Windows 10 64位,但使用了xampp-win32-7.3.2-0-VC15(php 7.3.2)。总而言之,通过使用32位版本(除o.s外)进行的所有操作,我都能获得正确的配置。全文以及我的操作方式:
如果通过cmd进入xampp / php目录,在我的情况下是“ C:\ xampp \ php”,然后通过简单的命令“ php”启动php,则可能会显示的dll。在etc文件夹中找不到或其中哪个与Win 32不兼容。如果遇到此问题,打开phpinfo()页面时将看不到OCI8页面:
如果是这种情况,则由于win 32兼容性问题或找不到您肯定存在的dll,则应取消安装XAMPP并使用x32版本重新安装它。 phpinfo页面将显示x86体系结构。切记在路径变量中删除任何找不到您使用的php的源,这里的要点是使用XAMPP中默认给定的源。如果出于任何原因需要使用其他php安装,请记住使用x86体系结构。 如果您需要更新的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体系结构(必须使用此体系结构),因此需要找到32位版本的OIC,但对于检查哪种体系结构与未注释的扩展兼容也很重要。以oci8_12c为例,它是Instantclient-basic-nt-12.2。 最后一步是将其解压缩到一个文件夹,例如“ C:\ instantclient_12_2”,并将其添加到系统的路径变量中。 重新加载Apache,并检查OCI8是否正确显示。