Что ж, я тоже столкнулся с этой ошибкой и сумел ее исправить.
Прежде чем загружать любую версию клиента Oracle, просто взгляните на свои настройки http://localhost/?phpinfo=1 по адресу < strong>Настроить команду.
Это скажет, какая версия Oracle использовалась для создания вашего сервера WAMP.
На изображении выше показаны две строки:
"--with-pdo-oci=c:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared"
"--with-oci8-12c=c:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared"
Очевидно, скажите нам, что InstantClient использует 64-битную версию.
Существует две версии InstantClient 12.1 x64: 12.1.0.2.0 и 12.1.0.1.0.
Я протестировал версию 12.1.0.2.0 и не смог.
После этого я протестировал старую версию 12.1.0.1.0 и работал.
Загрузите с Instant Client для Microsoft Windows (x64) и распакуйте файлы ниже в "c:\oracle":
- Instantclient-basic-windows.x64-12.1.0.2.0.zip
- Instantclient-sqlplus-windows.x64-12.1.0.2.0.zip
- Instantclient-sdk-windows.x64-12.1.0.2.0.zip
Это создаст следующую папку "C:\Oracle\instantclient_12_1".
Используя "Командную строку Windows" (WIN+R CMD), перейдите в папку выше и выполните SQLPLUS:
- sqlplus [пользователь]/[пароль]@[хост]:[порт]/[сервис]
Вы должны быть в состоянии подключиться.
Наконец, добавьте папку "C:\Oracle\instantclient_12_1" в переменную среды PATH, поместив ее в крайнее левое место.
Закройте сервер WAMP.
Да, закройте его, потому что переменная среды считывается только во время запуска.
Таким образом, перезапуск служб может завершиться ошибкой, что приведет к неправильному результату.
После перезапуска ваш PHPINFO покажет загруженные OCI8 и PDO_OCI.
Я надеюсь, что это помогает!
person
Luiz Vaz
schedule
15.10.2017