PHP OCI8 扩展不适用于 PHP 7 64 位

PHP OCI8 extensions not working with PHP 7 64 bit

我已经安装了 APACHE 2.4 x64 和 PHP7 x64 并下载了 PHP OCI 64 位库,但问题是每当我从 cli 运行 PHP 脚本时它说

PHP Startup: Unable to load dynamic library 'E:\software\server\php-7.0.11-Win32-VC14-x64\ext\php_oci8_11g.dll' - %1 is not a valid Win32 application

此外,当我从 URL 调用网络应用程序时,它说

Call to undefined function oci_pconnect()

我下载的OCI扩展也是64位的。这是 link:

http://windows.php.net/downloads/pecl/releases/oci8/2.1.2/php_oci8-2.1.2-7.0-ts-vc14-x64.zip

谁能指导一下这个问题。

您可能混用了 TS(线程安全)和 NTS(非线程安全)版本。这些不会一起工作。详细了解 PHP 线程安全 here

PHP 7.0.11 NTS x64, OCI8 2.1.2 NTS x64, and InstantClient 11.2.0.4.0 x64 可以很好地协同工作(我刚刚下载了这三个文件并在全新的 Win2K8 环境中测试了它们)。

请记住安装最新的 VC14 运行时(Visual Studio 2015)并修改您的 PATH 系统环境变量以包含 PHP 和 InstantClient 的目录,例如C:\php;C:\instantclient_11_2.