今天刚好有个需求,要用 PHP 把数据写入远程 Oracle 数据库,所以要用到 OCI8 扩展。但总是无法开启,查阅了大量资料才知道原来是因为本地机器没安装 Oracle 数据库, 系统缺少Oracle的几个关键DLL造成的,可以通过安装Oracle Instant Client 来添加这些DLL。
Oracle Instant Client下载地址如下:
http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092537-zhs.html
下载后,将其解压到 D:\Program Files\instantclient_11_2 (非固定位置),并将该路径加入到系统PATH环境变量的最前面。
然后重启一下Webserver,再查看phpinfo,可以OCI8模块信息了。
总结一下,PHP OCI8扩展的开启步骤:
(1)去掉php.ini中extension=php_oci8.dll前面的注释。
(2)解压 Oracle Instant Client,并将解压目录加入到系统PATH环境变量中。
(3)重启Webserver,使用phpinfo查看OCI8模块是否出现。
下面是Oracle官方的安装说明,很详细:
《nstalling PHP and the Oracle Instant Client for Linux and Windows
http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html
另外关于PHP操作Oracle的资料,这个感觉不错:
http://www.oracle.com/technetwork/cn/articles/dsl/technote-php-instant-090922-zhs.html
OCI8操作Oracle的PHP手册:
相关推荐
**PHP 7.1 OCI8 扩展详解** 在 PHP 开发中,Oracle 数据库的交互是一个常见的需求。OCI8 扩展是 PHP 与 Oracle 数据库之间的一个桥梁,它提供了原生的接口来访问 Oracle 数据库。在这个场景下,我们关注的是针对 ...
当你遇到“通达oa加载扩展无法启动的dll php_oci8.dll”这样的错误时,这意味着在尝试运行通达OA的过程中,系统无法正确加载PHP OCI8扩展所需的动态链接库(DLL)文件。 首先,我们需要理解这个问题的根本原因。DLL...
6. **验证配置**:在PHP页面中插入`phpinfo()`函数,运行页面查看结果,确认oci8和pdo_oci扩展是否已经成功加载。 在某些情况下,可能还需要安装额外的Oracle客户端组件,如oci.dll,以处理PHP扩展的依赖。如果在...
本包除包含 php-oci8 扩展,亦包含 pdo_oci 扩展。 先从 oracle 网站下载 oracle-instantclient-basic.rpm,安装后再安装本包。默认会清除 oracle-instantclient lib 的 stackbit(execstack -c),以适应 selinux 下...
由于文章中提到了oci8扩展的开启方法不在此赘述,我们则把焦点放在如何通过oci8扩展实现Oracle数据库的操作上。 首先,文章提供了一个名为Oracle_db.class.php的PHP类,这个类封装了对Oracle数据库的基本操作。以下...
以上知识点涵盖了从Oracle数据库的配置到PHP通过OCI扩展访问Oracle数据库,并进行基本的数据库操作以及事务处理的全过程。要实现这些功能,还需要对oci8扩展的API有一定的了解,包括oci_connect、oci_parse、oci_...
接下来,我们需要获取PHP的Oracle扩展源代码,通常是`php_oci8`或`php_pdo_oci`。这些扩展可以通过PECL(PHP Extension Community Library)获取,或者直接从PHP源码仓库中下载。如果使用PECL,运行以下命令: ```...
2. **开启oci8扩展**: - 在`php.ini`配置文件中找到`extension=oci8`这一行,取消其前边的分号(;),这表示启用oci8扩展。如果找不到,可以手动添加这一行。 - 你也可能需要设置oci8的一些其他配置选项,如`oci8...
OCI8是一个基于Oracle Call Interface (OCI) 的PHP扩展,提供了大量的函数来实现与Oracle数据库的操作。 - 使用PDO扩展:PDO (PHP Data Objects) 是PHP的一个数据库访问抽象层,它允许用相同的编程接口访问多个不同...
文件,找到并开启OCI扩展配置,例如: - 将`;extension=oci8`前的分号去掉以启用扩展。 - 如果使用的是64位系统,确保使用了`oci8_64bit`扩展。 **2. 重启Apache服务** - 使用命令`httpd -k restart`来重启Apache...
2. 设置`extension_dir`,指向PHP的扩展库目录,确保PHP能找到oci8扩展。 3. 配置oci8的参数,例如`oci8.defaultcharset`,以匹配Oracle客户端的字符集。 完成以上步骤后,可以通过创建一个简单的PHP测试文件`conn....
2. 安装oci扩展:将解压后的oci8扩展目录复制到PHPStudy的PHP版本扩展目录下,如`php/php版本号/ext`。 3. 修改php.ini:在PHPStudy的相应PHP版本配置文件php.ini中,添加`extension=oci8.so`(Windows下为`...
4. **配置PHP连接Oracle**: 修改PHP的配置文件`php.ini`,启用OCI8扩展,配置如下: - `extension=php_oci8.dll` - `oci8.connection_class = "your_connection_class"` - `oci8.default_persistent = Off` - `...
- PHP扩展:首先确保你的PHP环境中安装了`oci8`扩展,这是PHP连接Oracle的必备组件。可以通过修改`php.ini`文件并启用`extension=oci8.so`来加载它。 - Oracle客户端:你还需要安装Oracle Instant Client,它是...
PDO支持多种数据库,包括Oracle,通过PDO OCI扩展实现了与Oracle数据库的连接。 PDO OCI(Oracle Call Interface)是PDO的一个扩展,允许PHP通过PDO接口与Oracle数据库通信。在PHP中启用PDO OCI,你需要确保在...
在windows服务器开启php的gd库时,使用cgi之后phpinfo()得到的结果中 Configure Command 中并没有出现gd. Configure Command 后显示的是: 复制代码 代码如下: 1 cscript /nologo configure.js “–enable-snapshot-...
解决这类问题通常需要检查扩展文件的兼容性(比如是否匹配PHP的版本和位数),确保oci8扩展已经正确开启,并且在php.ini文件中正确配置了扩展路径。 另一个可能的错误提示是:“oci_connect(): OCIEnvNlsCreate() ...
这通常包括开启或关闭某些扩展,例如: - `extension=php_bz2.dll` - `extension=php_curl.dll` - `extension=php_fileinfo.dll` - `extension=php_gd2.dll` - `extension=php_gettext.dll` - `extension=...
在PHP中,通常使用PDO(PHP Data Objects)扩展来连接和操作Oracle数据库。在处理CLOB类型字段时,由于PDO默认会将参数视为字符串处理,因此可能会遇到长度限制的问题。为了解决这个问题,我们需要使用`bindParam()`...