首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OCI8配置与WAMP64

OCI8配置与WAMP64
EN

Stack Overflow用户
提问于 2017-08-23 06:29:07
回答 1查看 2.2K关注 0票数 0

我正在尝试将Oracle 11 php与php连接起来。对于php,我下载了64位版本的wamp64,Oracle11gXE也下载了64位。我使用的是windows 10,也是64位。

现在,我从未将Oracle连接到php,所以在搜索了很多之后,我发现了OCI和PDO_OCI,其中推荐使用OCI。

现在,到处都提到了以下步骤。

  • 从甲骨文官方网站下载OCI瘦客户端zip。
  • 提取拉链
  • 在环境变量中包含路径。
  • php.ini中启用扩展=php.ini(或任何版本的oracle版本)
  • 然后使用这个$con = oci_connect($username, $password, $connection_string);

现在,我已经跟随了这些步骤,但没能连接起来。遵循建立连接的代码。

代码语言:javascript
复制
<?php
$username = "ABCD";
$password = "1234";
$connection_string = "localhost/XE";
$con = oci_connect($username, $password, $connection_string);
if(!$con) {
    echo "Faild to connect";
}
else {
    echo "Success";
}
?>

现在它显示了这个错误

所以我再一次寻找解决这个问题的方法。现在我遇到了以下问题。

  1. 在我的php.ini里我没有php_oci8_11g.dll,我有php_oci8_12c.dl
  2. 同时也有php_oci8_12c.dll在/ext。

所以我下载了php_oci8_11g.dll并提到了扩展= php_oci8_11g.dll。然后尝试再次运行代码,但没有工作。然后,在这里的一篇文章中,我看到32位瘦客户机正在工作,因为它们拥有oracle32bit和xampp 32位,但是我有Oracle 11gXE 64位和wamp 64位也是。所以我下载了64位瘦客户机。

甚至我也无法在php扩展窗格中看到

php扩展窗格,请帮我解决这个问题,该怎么办?

EN

回答 1

Stack Overflow用户

发布于 2017-08-28 00:03:30

有几件事值得注意:

  • 您需要确保所有用户都具有相同的32或64位架构: PHP、are服务器、Oracle客户端库,以及(如果您使用的是Instant客户端)以及MS可再发行的。(您在尝试即时客户端时确实安装了可再发行版?查看即时客户端下载页面以获得详细信息)
  • 您希望PHP使用的Oracle客户端库的版本(无论是在Oracle XE安装中还是从Instant客户端)必须位于PATH (以及任何其他Oracle版本之前)。Windows上的多版本库之间的冲突很难控制。(Linux更容易.)
  • Oracle库的版本应该等于或大于扩展名编译时使用的Oracle客户端版本,例如php_oci8_12c是用Oracle 12c编译的(但这将允许它连接到旧版本和更新的数据库版本),因此Oracle12.1或12.2客户端库必须在路径中(在其他Oracle版本之前)。
  • 如果要从PECL下载扩展,则需要确保获得符合PHP的线程安全版本或非线程安全版本的DLL。它必须适用于您正在使用的PHP的相同版本。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45832152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档