我安装了oracle 11g,我确实创建了一些表并使用sql developer操作它,我正在寻找一种方法在主机站点上连接oracle和php。
我尝试了但使用此代码后出错:
$Conexion_ID =oci_connect($OracleUser, $OraclePassw, $OracleIP);
这是错误:
Call to undefined function oci_connect()
我知道我应该安装和配置OCI8,所以我下载了这个文件:
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
但我不知道他们应该在哪个文件夹中使连接正常工作。
答案 0 :(得分:3)
从这里下载PHP扩展(确认PHP版本并下载相同的,线程安全的[TS]版本): http://pecl.php.net/package/oci8/2.0.8/windows
你应该能找到三个.dll的
php_oci8.dll,php_oci8_11g.dll和php_oci8_12c.dll
将所有dll放在扩展目录中,在WAMP中通常为wamp\bin\php\php5.*.*\ext
从wamp服务器的系统尝试打开php配置并添加以下行:
; Enable only which is required
;extension=php_oci8.dll
extension=php_oci8_11g.dll
;extension=php_oci8_12c.dll
重启Apache服务器。
编辑:抱歉,我认为其他dll是库,但它们适用于不同的oracle版本。在您的情况下启用11g。答案已更新。
更新2016-11-07 :只想说最新的套餐可以在https://pecl.php.net/package/oci8找到。当我写这个答案2.0.8是最新的我猜。
答案 1 :(得分:1)
如果您在Windows上使用wamp服务器,则必须使用php_oci8.dll
而不是oci8.so
。您需要下载php_oci8.dll
并将其复制到PHP下的ext
目录中。如果您在PHP中没有此扩展程序而不是安装它,请转到php.ini
并添加extension=php_oci8.dll
。
请确保wamp服务器有两个php.ini文件,你必须在两个地方更改它。一切都完成,而不是检查安装了oci 8的php信息。