Расширения 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
Может ли кто-нибудь помочь в решении этой проблемы.
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
.