【问题标题】:PHP Oracle Connectivity for different Host不同主机的 PHP Oracle 连接
【发布时间】:2016-02-26 16:31:10
【问题描述】:

我有两个不同域下的数据库 MySQL 和 Oracle

我要做的就是将记录从 MySQL 表到 Oracle 表 但我无法连接它们

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

我试过了

$conn = oci_connect('username','password','xxx.xxx.x.xx:1521/dbName');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

注意:我不在本地主机上工作。我在编辑器中编写代码并将其上传到我的域

谢谢

【问题讨论】:

  • 我已经下载了instantclient.11.2并把它放到C:\program files\instantclient.11.2,我已经将环境变量路径设置为C:\program files\instantclient.11.2 ....是吗好的,或者我接下来要做什么?
  • 如果使用 Instant Client,请将系统 PATH 环境变量设置为 Oracle 库目录。
  • 它在本地工作,但需要在服务器上激活extension=php_oci8.dll,但我无权访问我的 php.ini,如何使用 .htaccess 或无论如何使其激活??
  • 您无法通过.htaccess 激活扩展程序。您必须联系服务器管理员修改php.ini

标签: php oracle11g database-connection


【解决方案1】:

毕竟我找到了解决方案

  1. 根据您的要求下载 Oracle Instant Client。 Download Here
    我下载了适用于 32 位 Windows 的 Basic Lite 版本Basic Lite 11.2.0.4.0.zip
  2. 将此 zip 文件解压缩到任意路径
    我用C:\wamp\www\instantclient_11_2
  3. 现在更改环境变量
    转到Control Panal > System > Advance System Setting > Advanced > Environmental VariablesSystem Variable 下找到并选择Path 单击edit,在variable value 内写入您的Oracle Instant Client 路径C:\wamp\www\instantclient_11_2(如步骤2 中所定义)
  4. 打开您的 php.ini 文件并找到适用于 Oracle 10g 的 ;extension=php_oci8.dll 或适用于 Oracle 11g 的 ;extension=php_oci8_11g.dll
  5. 如果您使用 Oracle 11g,请从 ;extension=php_oci8.dll 中删除 ;,如果您使用 Oracle 11g,请从 ;extension=php_oci8_11g.dll 中删除
  6. 对于PDO,从;extension=php_pdo_oci.dll 中删除;
  7. 保存 php.ini 文件并重启 wamp 服务器

现在您可以使用您的oci_connect statementsPDO statements

【讨论】:

    猜你喜欢
    • 2020-03-29
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多