Ошибка загрузки динамической библиотеки

ssv

Новичок
Ошибка загрузки динамической библиотеки

Перешел работать на Оракл и пхп под win2k,
да не получается подключить ораколовские модули
При запросе выдает Сообщение, типа,
не могу загрузить динамическую библиатеку c:\php\extensions\php_oracle.dll - файл не найден.
НО, он там есть!
В чем причина, может кто знает? Может что то надо еще поставить?

Пути на расширение в пхп.ини указаны верно
extension_dir = C:/php/extensions/
extension=php_oracle.dll
extension=php_oci8.dll

На машине стоит Win2k, Клиент ораколовский ставил 7 (правда урезаный), сейчас поставил 8 с интерфейсом для программирования, правда особо не настраивал (настроил тнс, и одбк)

По ходу дела возник вопрос,
С установкой php под win2k, с базой данных как лучше работать через ODBK или напрямую? Работал раньше под Апачем с MySQL - проблем небыло. А тут какова физика? Может кто розьяснит, а?

Заранее Спасибо. Сергей.
 

aloner

Guest
> лучше работать через ODBK или напрямую?

Напрямую, конечно же.

ODBC - это, по сути дела, надстройка над родным клиентом Оракла (Постгреса и т.п.). И соответственно, она дает лишную работу серверу.
 

Влад

Новичок
Win98

в пхп.ини
extension_dir=./
extension=php_oci8.dll

файл находится -- С:\РНР4\php_oci8.dll

и работает напрямую
 

ssv

Новичок
Автор оригинала: Влад

....и работает напрямую
У тебя база оракла на этой же машине лежит, или ты клиента ставил? и какова версия?

Просто незнаю что и думать... бред какой-то.
Вчера целый день потратил, сегодня еще не занимался... но чувствую и сегодня результата не будет - не понимаю в чем глюк. Прововал и так и сяк. А начальство смотрит - надо бы хоть что-то показать...... :((((
 

Влад

Новичок
2ssv
клиент стоит, вер. Oracle8i Release 8.1.7.0.0.
Так файл РНР нашел или нет?
(дома (вин 98) пробовал подключать файлы : php_oracle.dll и
php_oci8.dll, где оракл не установлен и все нормально
получалось)
Пробовал мой вариант, из предыдущего письма?
 

Ganer

Новичок
1.
Пути на расширение в пхп.ини указаны верно
extension_dir = C:/php/extensions/

может лучше C:\php\extensions\

2. выясни точно что/кто не работает !
оракловый клиент встал нормально, sqlplus запускается ?
какой extensions дир в пхп, что пишет в phpinfo(), другие модули без проблем ?
 

ssv

Новичок
Автор оригинала: Влад

....
Так файл РНР нашел или нет?
(дома (вин 98) пробовал подключать файлы : php_oracle.dll и
php_oci8.dll, где оракл не установлен и все нормально
получалось)
Пробовал мой вариант, из предыдущего письма?
Файла пхп не находит, хотя он там лежит.
Попробовал твой вариант - Ответ одлин и тотже.
Выскакивает сообщение немогу загрузить динамическую библиатеку путь к файлу где он лежит - не могу найти файл.
Сегодня снесу клиента. попробую без него.

Примечание: аналогично не загружаються другие библиатеки - интербазе и т.д.
Но, МойСКЛ успешно подключается...

:(
 

Влад

Новичок
2ssv
помню в начале, когда незнал куда длл файл нужно ложить,
позаписывал его сразу в несколько мест
(C:/
C:/Apache/
C:/PHP/
C/Windows/
и тому подобн.
)
попробуй и ты так сделать

А может ты случайно с привилегиями на доступ что-то накрутил, под win2k?
 

ssv

Новичок
Автор оригинала: Ganer
1.
может лучше C:\php\extensions\

2. выясни точно что/кто не работает !
оракловый клиент встал нормально, sqlplus запускается ?
какой extensions дир в пхп, что пишет в phpinfo(), другие модули без проблем ?
Ganer, Влад

1. Слєши до фени.... пробовал - роли не играют.
2. Судя по всему пхп, действительно возможно что-то с правами доступа, т.к. файл есть пути на него указывают.

в пхп (пробовал по разному)
extension_dir = C:/php/extensions/
extension=php_oci8.dll
extension=php_oracle.dll

пхп инфо:
extension_dir C:/php/extensions/
file_uploads 1 - что это означает?

Оракловский клиент пашет - через sqlplus подключаюсь вроде все ок.

Кроме віскакивающего сообщения в броузер выдается сообщение "PHP Warning: Unable to load dynamic library 'C:/php/extensions/php_oci8.dll' - Не возможно загрузить модуль. in Unknown on line 0 PHP Warning: Unable to load dynamic library 'C:/php/extensions/php_oracle.dll' - Не возможно загрузить модуль. in Unknown on line 0 "

Что означает "in Unknown on line 0 "?


Про прова доступа :
Доступ через вєб - нет.
Общий рессурс в сети - нет.
Безопасность - Все.
Чего тут можно еще намудрить?
 

chira

Новичок
Трудно, что либо сказать, я писал так и сразу работало

extension=C:\php\extensions\php_oci8.dll
extension=C:\php\extensions\php_oracle.dll

все dll из одного зипа?

если PHP сконфигурирован как модуль apache можешь попробовать переписать dll в дирректорию
<apache dir>\modules

прочти еще раз внимательно инструкцию по инсталяции PHP.
 

aloner

Guest
Возможно он не видит библиотеки Оракла.

Попробуй запустить Апач вручную - может скажет, что надо.
 

fisher

накатила суть
2ssv: у меня когда-то был похожий глюк. недолго подумав я в лоб собрал нужные dll из самых последних исходников. дело было довольно давно, помню, что в процессе сборки мне ещё пришлось менять какие-то инклюды для файлов сишных заголовков с пхп-версии на ровно тот же файл с дистрибутива оракла, иначе не то не собирались, не то собирались но с тем же результатом - не помню. в результате всё заработало. в чем тогда дело было - иди знай. но всё же попробуй сначала поставить самые последние стабитьные версии пхп и пхп-оси.
 

ssv

Новичок
Автор оригинала: Larson
А ты Апач перезапускал?
Вообще-то я в самом начале писал у меня конфигурация
Win2k + IIS + PHP4.2.3 + Oracle 8.0.5 (817i)

IIS - Перезапускаю каждій раз,
Еще одна фишка,
поставил тотже PHP, IIS на другой сервак, тоже Вин2к
с уже установленным ораклом 8.0.5
на этот раз динамическую библиатечку php_oracle.dll
- прохавал, а вот php_oci8.dll - ненаходит модуль.

Мысли? Комментарии?
:confused:
 

Ganer

Новичок
ты так и не выяснил что глючит вынь/пхп/php_oci8.dll ...
1. поставь модуль mysql, может проблема у пхп и модулей ?
2. пхп из командной строки - то же самое ?
3. что это за версия пхп, поставь посвежее ?
4. поставь клиент от девятки, зачем старье ставишь ?
 

ssv

Новичок
Автор оригинала: Ganer
ты так и не выяснил что глючит вынь/пхп/php_oci8.dll ...
1. поставь модуль mysql, может проблема у пхп и модулей ?
2. пхп из командной строки - то же самое ?
3. что это за версия пхп, поставь посвежее ?
4. поставь клиент от девятки, зачем старье ставишь ?
Да, я так и не выяснил что глючит, может поможешь,
1) Зачем? MySql по умолчанию загружается. без всяких расширений. (php -m)

Загружаются ли вообще модули - вот ответ:

эти модули без проблем загружаются:

php_bz2.dll, php_cpdf.dll, php_crack.dll, php_db.dll,
php_dba.dll, php_dbase.dll, php_dbx.dll, php_exif.dll,
php_filepro.dll, php_gd2.dll, php_hyperwave.dll, php_iisfunc.dll,
php_imap.dll, php_java.dll, php_mbstring.dll, php_mime_magic.dll,
php_ming.dll, php_pdf.dll, php_sockets.dll, php_w32api.dll, php_zip.dll


А вот эти нехотят загружаться:
php_curl.dll, php_domxml.dll, php_fbsql.dll, php_fdf.dll, php_gd.dll,
php_gettext.dll, php_iconv.dll, php_ifx.dll, php_interbase.dll, php_ldap.dll,
php_mcrypt.dll, php_mhash.dll, php_mssql.dll, php_msql.dll, php_oci8.dll,
php_openssl.dll, php_oracle.dll, php_pgsql.dll, php_printer.dll, php_shmop.dll
php_snmp.dll, php_sybase_ct.dll, php_xmlrpc.dll, php_xslt.dll, php_yaz.dll


Причем, файл php_oracle.dll, как я уже говорил, на одной из машин (с базой оракла)
загружается, на других нет.

2) Если подключать руками (php -z c:\php\extensions\php_oracle.dll) модули которые
грузятся через ини файл то выдается сообщение
doesn't appear to be a valid Zend extension ??????? почему ?????? я не правильно подключаю?
Для модуля который не загружается php_oci8.dll выдает:
точка входа в процедуру OCILobFreeTemporary не найдена в библиатеке DLL OCI.DLL
Failed loading php_oci8.dll

3) Php поставил 4.3.1

4) Под рукой нету, но если в этом причина - поставлю.

Вообще, у кого-нибуть работает конфигурация win2k + IIS + PHP + Oracle ?

Какие версии?

Сдается мне, что Ошибка загрузки динамической библиатеки
- не связанна никак не прямую с ораклом.
 

ssv

Новичок
Всем спасибо,
Разобрался с дополнениями. во всех источники ссылаются на установку клиента.

Дело все таки в оракловском клиенте.
Я так понял, что php_oracle.dll модуль для 7 слиента оракла,
а php_oci8.dll - для 8 -го.

Теперь вопрос в следующем: в чем собственно заключается как настройка клиента оракловского?
настроил tns, tnsping80 - работает. катит.

На одной машине, когда-то давным давно один человек администрировал оракл и там php_oracle.dll - работает.
Я пробую настроить на другой машине - tns настроил - а модули так и не работают.. :(

В чем заключается настройка?
 

Ganer

Новичок
а тебе действительно необходим IIS ? пхп+иис да еще и с ораклом, думаю очень редкое явление :)
посмотри phpinfo(), видит ли твой пхп переменые оракла, ему нужна ORACLE_HOME переменая. а в командной строке пашет ?
 

ssv

Новичок
Автор оригинала: Ganer
а тебе действительно необходим IIS ? пхп+иис да еще и с ораклом, думаю очень редкое явление :)
посмотри phpinfo(), видит ли твой пхп переменые оракла, ему нужна ORACLE_HOME переменая. а в командной строке пашет ?
А я слышал, что успешно работают...
Поправь меня если я не прав:
У меня оракл клиент. имеет ли место быть переменная ORACLE_HOME ???, если я использую tns (я с ораклом столкнулся впервые и изядно плаваю в физике его работы).
вообще надо ли она?
В переменных окружения винды ее нет.
у меня есть path где указан путь к бин оракла.
Где в phpinfo() она должна быть?
PHP Variables? В общем ее там нет.
и что она должена содержать?

в командной строке не пашет. а как вообще проверить :)? может я не правильно запускаю (хромасомо даунито... :)))
 

Ganer

Новичок
то что у кого то работает, то я не сомневаюсь, просто зачем ? вот оракл на новеле работает ... но вот сгорел диск и хана - у оракла баг оказался и никто не может помочь ... даже супорт был в ступоре. была бы эта же проблема под соляркой мне бы понадобилось 2 минуты найти решение, только потому что до меня с ней бы уже столкнулись тысячи ...

понятия не имею как под виндозой - я под линухом прописываю прямомо в скрипте апача эти переменные, чтоб у юзера (nobody) под которым запускается веб сервер были бы эти переменные.

у меня phpinfo()->Additional Modules/Environment видно ORACLE_HOME и NLS_LANG

добейся сначало работы пхп-оракле из командной строки, потом будешь разбиратся со связкой иис
что у тебя в реестре у меня под виндозой в реестре куча оракловой ерунды, у тебя там нет обломков старого клиента ?
так сам модуль грузится ?
 
Сверху