相关疑难解决方法(0)

调用未定义的函数oci_connect,php_oci8_12c.dll,windows 8.1,php5.6.6

我有一个简单的PHP脚本:

<?php
$db_user = 'myusername';
$db_pass = 'mypassword';
$db_sid = 'mysid';
$conn = oci_connect( $db_user, $db_pass, $db_sid );
?>
Run Code Online (Sandbox Code Playgroud)

当我运行它(从浏览器或从命令行),我得到错误:

Call to undefined function oci_connect
Run Code Online (Sandbox Code Playgroud)

我正在使用PHP 5.6.6,它已经附带了php_oci8_12c.dll.

我有extension=php_oci8_12c.dll我的php.ini

我已经安装了即时客户端(12.1) - 尝试过32位版本和64位版本

我有ORACLE_HOME和TNS_ADMIN环境变量指向即时客户端文件夹(C:\ instantclient_12_1).

我的路径中也有C:\ instantclient_12_1

我在同一个文件夹中有一个tnsnames.ora,其中包含相关条目:

MYSID =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = myhost.net)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = MYSERVICE)
    )
  )
Run Code Online (Sandbox Code Playgroud)

我还从http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html下载了SQLDeveloper .

SQLDeveloper工作,识别上面提到的tnsnames.ora并连接并成功运行我的php脚本试图访问的同一数据库上的查询.

几天后我花了几个小时尝试不同的事情无济于事.

我正在使用:

php 5.6.6
windows 8.1
IIS (so no answers involving apache please)
cmd …
Run Code Online (Sandbox Code Playgroud)

php oracle oracle-call-interface oracle11g

8
推荐指数
1
解决办法
4万
查看次数

调用未定义的函数oci_connect,php_oci8_11g.dll,Windows 10,php5.6.24

我有一个简单的php脚本:

<?php


            $DB = '//10.11.201.170:1521/XE';
            $DB_USER = 'BIOTPL';
            $DB_PASS = 'biotpl';
            $DB_CHAR = 'AL32UTF8';

            $conn = oci_connect($DB_USER, $DB_PASS, $DB, $DB_CHAR);
            if($conn)
            {
                echo "Successfully connected to Oracle.\n";
                OCILogoff($c);
                //$statement = oci_parse($conn, 'select 1 from dual');
                //oci_execute($statement);
                //$row = oci_fetch_array($statement, OCI_ASSOC+OCI_RETURN_NULLS);
            }
            else
            {
                $err = OCIError();
                echo "Connection failed." . $err[text];
            }  
?>
Run Code Online (Sandbox Code Playgroud)

当我运行它(从浏览器或命令行)时,出现错误:

Call to undefined function oci_connect
Run Code Online (Sandbox Code Playgroud)

我正在使用php 5.6.24。我已经将php_oci8.dll和php_oci8_11g.dll复制到/ ext文件夹中。我有

extension=php_oci8.dll 
extension=php_oci8_11g.dll  
Run Code Online (Sandbox Code Playgroud)

在我的php.ini中,我已经安装了即时client_11_2-尝试了32位版本。我有ORACLE_HOME和TNS_ADMIN环境变量指向即时客户端文件夹(C:\ instantclient_11_2)。

我花了数小时的时间来尝试不同的事情,但无济于事。

我已经安装了Microsoft Visual C ++ 2010运行时(x86)。OCI8扩展需要此功能。我已经安装了Microsoft Visual C ++ 2012 Runtime(x86)。PHP需要此功能。

当我尝试以下命令时:

php --ri …
Run Code Online (Sandbox Code Playgroud)

php oracle oracle-call-interface oracle11g

1
推荐指数
1
解决办法
5704
查看次数

标签 统计

oracle ×2

oracle-call-interface ×2

oracle11g ×2

php ×2