系统环境:Windows 8.1 x64
PHP 5.6.3 x86
Apache/2.4.10 (Win32)
Oracle Database 11g Enterprise Edition
xampp-win32-5.6.3-0-VC11-installer.exe 这个版本很坑爹… 在 php.ini 中只有extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
这两条配置,而在 extension_dir 即 ext 目录里只有 php_oci8_12c.dll 这个dll。
于是先在 php.ini 里加了条 extension=php_oci8_12c.dll ,然后去官网下了对应的32位的 instantclient-basic-nt-12.1.0.2.0.zip ,解压后放在一个目录并将其添加进系统变量,但是依然提示:Warning: PHP Startup: Unable to load dynamic library
'C:xamppphpextphp_oci8_ 12c.dll' - 找不到指定的程序。
于是查了下,根据 StackOverflow 上的一个类似问题重新配了一遍,还是同样的错误。
最后决定放弃使用 php_oci8_12c.dll ……
从pecl的OCI8 extension下载了最新的 php_oci8-2.0.8-5.6-ts-vc11-x86.zip,解压到 extension_dir , 然后去掉 php.ini 中 php_oci8_11g.dll 的注释,下载相应的 instantclient_11_2 解压后把目录添加进系统变量。
可以直接在命令行中用php --ri oci8
php -r "var_dump(function_exists('oci_connect'));"
检查是否成功。
参考资料: