Расширения PHP OCI8, не работающие с 64-разрядным PHP 7


Я установил APACHE 2.4 x64 и PHP7 x64 и загрузил 64-битные библиотеки PHP OCI, но проблема в том, что всякий раз, когда я запускаю PHP-скрипт из командной строки, он говорит

Запуск PHP: Не удается загрузить динамическую библиотеку 'E:\software\server\php-7.0.11-Win32-VC14-x64\ext\php_oci8_11g.dll ' - %1 не является допустимым приложением Win32

Также, когда я вызываю веб-приложение с URL-адреса, оно говорит

Вызов неопределенной функции oci_pconnect()

ОКИ расширение, которое я скачал, также 64-битное. Вот ссылка:

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

Может ли кто-нибудь помочь в решении этой проблемы.

Author: asim-ishaq, 2016-09-23

1 answers

Вероятно, вы смешали версии TS (потокобезопасные) и NTS (не потокобезопасные). Они не будут работать вместе. Узнайте больше о потокобезопасности PHP здесь.

PHP 7.0.11 NTS x64 , OCI8 2.1.2 NTS x64 и instantclient 11.2.0.4.0 x64 отлично работают вместе (я только что скачал эти три файла и протестировал их в новой среде win2k8).

Не забудьте установить последнюю версию среды выполнения VC14 (Visual Studio 2015) и изменить PATH системная переменная среды, включающая каталоги PHP и InstantClient, например C:\php;C:\instantclient_11_2.

 3
Author: timclutton, 2017-05-23 12:15:03