PHP, IIS, Oracle (OCI) не работает

Мы переходим с Windows SBS 2011 на Windows Server 2012 R2.

У нас есть внутренний веб-сайт, который подключается к нашей базе данных Oracle с использованием PHP.

Я пытаюсь перенести это на новый сервер и пока у меня есть:

  1. Установленная роль сервера IIS
  2. Установленный PHP
  3. Загруженный Oracle Instant Client в C: \ instantclient
  4. Добавлен C: \ instantclient в системную переменную PATH
  5. Добавил php_oci8.dll в php.ini и проверил, что PHP на самом деле использует этот php.ini
  6. Перезапущенный сервер

Я все еще получаю сообщения об ошибках, такие как команды oci_, не распознаваемые и т. Д.

Я потерялся. Я искал в Интернете, и инструкции соответствуют тому, что я сделал по памяти.

Я не нашел в Интернете ни одной вещи, которую бы я не сделал.

0

Решение

В зависимости от установленной версии InstantClient может потребоваться включить bin папка в пути, вот так:

C:\instantclient\bin

Чтобы проверить, доступны ли DLL-файлы в пути, введите where oci*.dll в командной строке. Должен вернуть список подходящих файлов.

Кроме того, помните, что только то, что ваша учетная запись может видеть файлы DLL, не означает, что IIS / PHP может. Это выполняется под другой учетной записью, которая может не иметь разрешения на доступ к файлам. Проверьте свой журнал ошибок IIS и PHP php_errors.log файл для любых конкретных сообщений об ошибках.


редактировать

После довольно продолжительного чат, проблема была решена путем:

  • Обновление InstantClient с 10.1.0.5 до 10.2.0.5 (как указано в требования к модулю: В Windows DLL php_oci8 требуются клиентские библиотеки Oracle версии 10gR2 или выше.)
  • Добавление копии msvcr71.dll в папку InstantClient.
  • Загрузка и ручная настройка PHP из php.net Вместо того, чтобы использовать PHP менеджер для IIS.
  • Обеспечение Path Переменная окружения правильно указывает на папки InstantClient и PHP.
1

Другие решения

попробуй это:

расширение = php_oci8_12c.dll
(вместо php_oci8.dll) — это то, что я использую, и вы, вероятно, скачали тот же самый моментальный клиент, что и я.

0

По вопросам рекламы [email protected]