IIS 7.5 + PHP + Oracle 11g = Unable to load dynamic library

~220V

Новичок
OC: . . . . Windows Server 2008 r2 IIS 7.5 работает с PHP через FastCGI
PHP: . . . 5.3.4-nts-Win32-VC9-x86
Oracle: . 11.1.0.7 win2k8 x64

Не подключается библиотека php_oci8_11g.dll, соответственно не могу работать с ораклом...

При запуске phpinfo(); упоминания про OCI8 нет. Результат прилагаю в файле phpinfo() IIS.mht
В журнале ошибок ПХП появляется запись: PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_oci8_11g.dll' - %1 is not a valid Win32 application.
in Unknown on line 0


И на всяк случай, при запуске скрипта
PHP:
<?php
if ($c=OCILogon("User", "Pass", "DBname")) {
  echo "Successfully connected to Oracle.n";
  OCILogoff($c);
} else {
  $err = OCIError();
  echo "Oracle Connect Error " . $err[text];
}
?>
В журнале ошибок пишет: PHP Fatal error: Call to undefined function OCILogon() in D:\www\phpBB3\OraTest.php on line 2
Ну это понятно почему, библиотека то не подключена...
В мануалах везде грят - достаточно раскомментировать одну из строк php_oci8_11g.dll или php_oci8.dll, в других ешо и задать переменные. Всё это сделал, всё это видно в phpinfo() IIS.mht

Подскажите пожалуйста что я еще не учел? Основу настройки брал тут: http://habrahabr.ru/blogs/webdev/30154/

PS
в IIS+PHP.zip файлы:
php IIS.ini - мой php.ini
PHP inst param IIS.png - с такими параметрами я установил пыха
php-errors.log - журнал ошибок пыха
phpinfo() IIS.mht - результат работы phpinfo
 

Вложения

tz-lom

Продвинутый новичок
вот мне всегда было интересно в чём прикол ставить PHP на IIS ?
 

tony2001

TeaM PHPClub
В мануалах везде грят - достаточно раскомментировать одну из строк php_oci8_11g.dll или php_oci8.dll, в других ешо и задать переменные.
Там еще говорят, что нужен сам клиент для Оракла - http://ru2.php.net/manual/en/oci8.requirements.php
Иначе непонятно с помощью чего ты собираешься к нему коннектиться.
Экстеншен - это только интерфейс к клиенту, а не его замена.
 

~220V

Новичок
Да, но я верю в If the Oracle Database is on the same machine as PHP, the database software already contains the necessary libraries. When PHP is on a different machine, use the free » Oracle Instant Client libraries.

У мну всё на одной мачине, т.е. все должно быть включено?


2 tz-lom я кроме винды ничего не шарю, вот и мучаюсь...
 

tony2001

TeaM PHPClub
Наверное.
Я не могу посмотреть на твою машину и понять что на ней стоит.
Думаю, для начала стоит обратиться к специалистам по Ораклу и выяснить что стоит, как настроено и работает ли оно.
Очень пристально я бы смотрел в сторону PATH и др. странных виндозных вещей, вполне вероятно, что либ клиента нет в PATH и поэтому экстеншен радостно не грузится. А может быть, ты взял PHP один, экстеншен от другого и пытаешься их вместе срастить. Я не знаю, отсюда мне не видно.
 

~220V

Новичок
Думаю, для начала стоит обратиться к специалистам по Ораклу и выяснить что стоит, как настроено и работает ли оно.
К сожалению я не знаю что попросить проверить... Мне установили, показали в чёрном окошке что "селекты выполняются" на этом я с ораклом покончил.

Очень пристально я бы смотрел в сторону PATH и др. странных виндозных вещей, вполне вероятно, что либ клиента нет в PATH и поэтому экстеншен радостно не грузится.
Проверим

А может быть, ты взял PHP один, экстеншен от другого и пытаешься их вместе срастить. Я не знаю, отсюда мне не видно.
Та не ничего не подсовывал, экстеншены родные ПХПышные...


Меня ешо смущает что ошибка PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_oci8_11g.dll' - %1 is not a valid Win32 application. Пых может ли работать на х64 платформах?
 

tony2001

TeaM PHPClub
Пых может ли работать на х64 платформах?
Ессно может. Везде работает.

Но мы же говорим о Винде, а не о на стоящей 64-битной платформе, да?
Я лично сомневаюсь, что есть 64-битная сборка PHP.
Есть ли 64bit сборка Оракла?
Будет ли работать 32bit сборка PHP на "64-битной" Винде?
Что значит эта содержательная виндовая (а не PHP-шная) ошибка?
Без понятия.
 

~220V

Новичок
И так коллеги, продолжаю жевать кактус - на скорую руку поставил:
Windows 2003 x32
PHP 5.3.4-nts-Win32-VC9-x86
Fast CGI для IIS 6 (попросило перед установкой пыха)
Oracle Database 11g Release 2 (11.2.0.1.0)
файлик конфигурации PHP взял с первого эксперимента на 2008 r2

всё ставил тупо как есть, БЕЗ настроек - только некст, некст, некст. И о чудо! всё пашет на ура!

Повторил тоже самое на платформе Win 2003 x64 соответственно всё взял x64 кромке пыха - БОЛТ! В этой связке мало того что OCI8 не загружалось, так еще и в лог ошибок PHP только после тридцатой перезагрузки написало тоже самое - PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_oci8_11g.dll' - %1 is not a valid Win32 application.

И совсем не понятно почему в phpinfo, в разделе date стало писать:
Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Helsinki' for '2.0/no DST' instead in C:\Inetpub\wwwroot\phpInfo.php on line 2

ничего ж не поменялось ведь?

Основываясь на этом, как мне кажется, PHP на 64-х битной винде поднять не реально.
 
Сверху