2014-09-15 6 views
1

У меня Windows 7 64bit, IIS 7 и установлен PHP на IIS. Я включил php_oci8.dll для подключения Oracle, но я получаю следующее сообщение об ошибке:php_oci8.dll - Не удается загрузить динамическую библиотеку

PHP Warning: PHP Startup: Unable to load dynamic library 
'C:\Program Files (x86)\PHP\v5.5\ext\php_oci8.dll' - 
The specified module could not be found. 
in Unknown on line 0 

Я проверил, что php_oci8.dll существует: «C: \ Program Files (x86) \ PHP \ v5. 5 \ вн \ php_oci8.dll»

Мой php.ini ниже:

extension_dir="C:\Program Files (x86)\PHP\v5.5\ext\" 
[PHP_OCI8] 
extension=php_oci8.dll 

Я скачал Oracle Instant Client 32 бит на http://www.oracle.com/technetwork/topics/winsoft-085727.html. Затем я извлекаю его и устанавливаю каталог в переменной среды «Путь».

Однако я все еще получаю ту же ошибку.

+1

'[PHP_OCI8]' не является допустимым .ini файлом. Существует раздел '[OCI8]', но вам не нужно размещать линию расширения там. Какую версию PHP вы используете (5.3, 5.4, 5.5)? Это 32- или 64-бит? какую версию IntantClient вы используете? – timclutton

+0

[OCI8] автоматически вставляется диспетчером PHP в IIS. Я использую PHP 5.5 64 бит, Instant Client версии 10 32 бит. Я решил это, установив более высокую версию Instant Client версии 11. Спасибо за ваш ответ в любом случае. – Jemru

ответ

2

Я нашел исправление, я должен установить instantclient-basic-nt-11.2.0.3.0.zip 32bit. Ранее я установил Oracle Client версии 10. Сначала я попытался установить версию 10, потому что она работала, когда я устанавливал ее в PHP 5.5/IIS 8/Windows 2012 Server. Поэтому странно, почему IIS 8 в PHP 5.5 принимает Instant Client 10, в то время как IIS 7 в PHP 5.5 не принимает Instant Client 10, но нуждается в Oracle Instant Client 11. Поэтому урок состоит в том, чтобы попробовать разные версии Oracle Instant Client. Благодарю.

Смежные вопросы