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_, которые не распознаются и т. Д.

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

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

    В зависимости от версии 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 Manager для IIS .
    • Убедитесь, что переменная окружения Path правильно указана на папки InstantClient и PHP.

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

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