1

感谢您提前提供的所有帮助。我无法使用 OCI8 将我的 PHP 连接到 ORACLE。我使用的软件规格是

  • Windows 10 版本:家庭 64 位
  • XAMPP 版本:5.6.24
  • PHP 版本 - 5.6.24
  • PHP 脚本框架 - ZEnd 框架
  • ORACLE - XE 11g - OracleXE112_Win64.zip
  • 即时客户端 - 11.2 - Instantclient-basic-nt-11.2.0.2.0.zip
  • ORACLE_HOME 变量 = C:\oracleexe\app\oracle\product\11.2.0\server
  • PATH - 有这个值 ORACLE_HOME\bin

我使用 NAVICAT 作为我的 mysql 客户端,并且能够使用它连接到数据库。像即时客户端路径和 sqlplus 这样的设置必须在此设置并且一切正常。

现在真正的问题是使用 OCI8 将 PHP 连接到 ORACLE。我已使用此链接为我拥有的 php 版本下载正确的 OCI 版本。https://pecl.php.net/package/oci8。我按照说明 使用“pecl install oci8-2.0.12”从这个链接安装 PHP 5.2 - PHP 5.6 并下载了这个下的所​​有库,它们是

  • 5.6 非线程安全 (NTS) x86
  • 5.6 线程安全 (TS) x86
  • 5.6 非线程安全 (NTS) x64
  • 5.6 线程安全 (TS) x64

尝试将上述库中的所有php_oci8_11g.dll文件一一安装到XAMPP的ext文件夹中。重置 apache,然后尝试运行脚本,但没有运气。这是我得到的错误信息

致命错误:未捕获的异常 'Zend_Db_Adapter_Exception' 并在 D:\xampp\htdocs\b2bapptest\library\Zend\Db\Adapter\Pdo\Abstract.php:112 堆栈跟踪:#0 D :\xampp\htdocs\b2bapptest\library\Zend\Db\Adapter\Abstract.php(448): Zend_Db_Adapter_Pdo_Abstract->_connect() #1 D:\xampp\htdocs\b2bapptest\library\Zend\Db\Adapter\Pdo\ Abstract.php(238): Zend_Db_Adapter_Abstract->query('select * from a...', Array) #2 D:\xampp\htdocs\b2bapptest\application\models\MiscMapper.php(790): Zend_Db_Adapter_Pdo_Abstract->query ('select * from a...') #3 D:\xampp\htdocs\b2bapptest\application\layouts\scripts\layout.phtml(53): Application_Model_MiscMapper->getActiveAnnouncements() #4 D:\xampp\htdocs\ b2bapptest\library\Zend\View.php(108): 包括('D:\xampp\htdocs...') #5 D:\xampp\htdocs\b2bapptest\library\Zend\View\Abstract.php(880): Zend_View->_run('D:\xampp\htdocs...') #6 D:\xampp\htdocs\b2bapptest\library\Zend\Layout.php(796): Zend_View_Abstract->render('layout.phtml') #7 D:\xampp\htdocs\b2 in D:\xampp\htdocs \b2bapptest\library\Zend\Db\Adapter\Pdo\Abstract.php 在第 112 行

我错过了什么,有人可以帮忙吗,我已经用了一个多星期来找到解决方案:(

4

1 回答 1

0

我连续几天遇到与 OCI8 和 XAMPP 相关的问题,问题显示为:

致命错误:调用未定义函数 oci_connect()

我能够使用 XAMPP 默认附带的 php 来纠正它。我也在使用 Windows 10 64 位,但使用了 xampp-win32-7.3.2-0-VC15 (php 7.3.2)。总而言之,我能够通过使用 32 位版本(操作系统除外)进行所有操作来获得正确的配置。

我已经看到很多关于 OCI8 的问题都是通过将所有内容都转换为 32 位来解决的,我认为值得一试。在这个问题How to enable oci in xampp 5.6.3? 我已经回答了我完成的完整路径

于 2019-08-22T16:43:31.777 回答