Здравствуйте, стоял xampp с версией php моложе, чем 5.3.8, так же установлен клиент оракловский, подключена библиотека php_oracle.dll в папке ext. В общем все работало прекрасно, пока не решили обновиться, поставили php 5.3.8, так же в php.ini подключаю php_oracle.dll, запускаю Apache и появлется сообщение на экране: Код (Text): PHP Startup: oracle: Unable to initialize module Module compiled with module API=20060613 PHP compiled with module API=20090626 These options need to match Думал может дело в версии библиотеки, из разных источников качал 2004 года, 2008 года библиотеки. В общем никак не получается Apache стартануть с ораклом. Посоветуйте как быть. P.S.: В дистрибутиве нет такой библиотеки.
Никогда оракл не ставил, но сам бы начал вот с этого http://ru.php.net/manual/en/oci8.installation.php и http://www.oracle.com/technetwork/artic ... 84410.html и до кучи: https://blogs.oracle.com/opal/entry/pec ... _explained
Поставил не xampp, а Денвер. теперь апачь стартует и работает, но при обращении к функции подключения к ораклу, выдаетчя ошибка Код (Text): Fatal error: Call to undefined function ora_logon() in index.php on line 20 Опять же на 5.2 без проблем, на 5.3 ни в какую...
У человека дошло до соединения с ораклом "Warning: Oracle: Connection Failed: ORA-12154:", означает что в принципе php обрабатывает Oracle, но не может соединиться. У меня до соединения не доходит. Пробовал разные версии php_oracle.dll (2004, 2007, 2008 года). ни одна не подходит при использовании php версии 5.3... В php 5.2... работает без проблем. Библиотеки кидаю в ext, в php.ini в extension_dir как раз пусть стоит до папки ext. Ерунда какая-то.
Я правильно понимаю, что вы уже попробовали расширения, которые идут в комплекте с 5.3 виндовым пхп, и они не заработали, да?
а вас точно не устраивает http://ru.php.net/manual/en/intro.oci8.php http://php.net/manual/en/ref.oci8.html#67051 - обертка Переводите: http://www.orafaq.com/wiki/PHP_FAQ
MiksIr, расширения, имееется ввиду библиотеки, которые в комплекте с php? Дело в том, что php в 5.3 вообще нету библиотеки php_oracle.dll, нашел только в инетрнете разных годов версии библиотеки. есть библиотека php_oci8.dll, но с ней не работает даже oci_connect() не работает, php пишет "Fatal error: Call to undefined function oci_connect() in Z:\home\htdocs\www\logist\index.php on line ..." topas, спасибо за ссылки, но откровенно говоря я не понимаю, как мне это может помочь, только потому, что я там малую долю написанного понимаю, т.к. английский на слабом уровне, понимаю. некоторую часть, но малую. Я просто не понимаю, может я что-то не донастроил, но ведь в php 5.2 все работает как кремлевские часы. Делал так: Поставил клиента ораклового, той же версии, что и на сервере строит, в tnsnames.ora прописал настройки для соединения с базой (ip, порт и имя базы). установил пакет Denwer с версией php 5.2, скачал последнюю веси файла php_oracle.dll из интернета, библиотека 2008 года, новее не нашел. закинул в ext (путь до ext прописан в php.ini). В файле php.ini раскомментировал extension = php_oracle.dll. Запустил апач, проверил - работает! Ставлю php 5.3, делаю все то же самое (кроме установки оракла конечно), сохраняю, запускаю, проверяю - не работает. Ставлю обратно php 5.2, те же действия, проверяю - работает, ставлю php 5.3, проверяю - не работает! Может я что-то не до конца доделываю.
topas, я так понял, что ora больше не поддерживается в php?! ладно, пробую настроить oci. теперь при запуске apache появляется ошибка "Точка входа в процедуру OCILobRead2 не найдена в библиотеке DLL OCI.dll" и "Точка входа в процедуру OCIClientVersion не найдена в библиотеке DLL OCI.dll". Оракл стоит версии 9.2, пхп поставил последний 5.3.8. Пошарился в интернте, понял, что это дело в несовместимости версии php (php_oci8.dll) и используемой версии oracle.
neon_tmn Да, ora больше не поддерживается. Для нормальной работы уже существующего проекта можно воспользоваться враппером, ссылку на который приводил выше. Новый проект следует начинать разрабатывать с использованием oci Для того, чтобы нормально подключить библиотеку, они должны быть скомпилированы Т.е. устанавливаете apache2 под VC9, затем устанавливаете PHP под VC9 вместе с библиотекой oci8, тогда теоретически всё должно заработать
http://pecl.php.net/package/oci8 В переводе на русский означает, что библиотека oci8 работает с oracle 9.2 Если что-то не работает, например apache не стартует, то выкладывайте сюда логи, тогда вам смогут помочь
Добрый вечер! Сталкивался с подобной проблемой для Oracle 11g. Тут дело не в php (У меня стоит php 5.2.3) Если кому-нибудь поможет, то нужно на локальную машину предварительно установить "толстого" клиента Oracle: http://www.oracle.com/technetwork/d...lient/index-097480.html?ssSourceSiteId=ocomen И настроить файл конфигурации tnsnames.ora
Внимательнее надо быть, во-первых тема протухла, а во вторых речь об oci8, который протух чуть больше чем тема. )