|
|
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
Почему-то в PHP при использовании команд присоединения к базе InterBase напрямую или через ODBC выдается сообщение в логе Apache, что указана несуществующая база. Причем в других программых типа менеджера баз ODBC эта база настроена и хорошо видна. В чем тут может быть дело, кто-нибудь знает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2003, 05:31 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
"команды присоединения" - это ibase_connect ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2003, 08:53 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
может проверить регистр и права на базу хотя скорее всего просто чегото недописал попробуй так $host = 'localhost:X:/firebird/examples/Employee.gdb'; $username='SYSDBA'; $password='masterkey'; $dbh = ibase_connect ( $host, $username, $password ) or die ("error in db connect"); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2003, 18:06 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
to anjey: >>"команды присоединения" - это ibase_connect ? Да, именно. Но и через ODBC тоже ошибка. to toshik-star: >>$host = 'localhost:X:/firebird/examples/Employee.gdb'; >>$username='SYSDBA'; >>$password='masterkey'; >>$dbh = ibase_connect ( $host, $username, $password ) or die ("error in db >>connect"); Выдает вот такое: Unable to complete network request to host "localhost". Failed to establish a connection. unknown Win32 error 1231 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2003, 03:29 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
а так это под винами тоды проверь строчку в php.ini если что откоментируй строчку magic_quotes_sybase = On потом проверь путь к бд... проверь в броузере набери просто localhost все результаты сюда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2003, 08:34 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
to toshik-star : magic_quotes_sybase = On - было раскоментировано После набора в браузере localhost - переход на http://localhost/, то есть на сервер. А так все тоже. Путь к базе: D:\SOFT\Apache2\WWW\SERVER\IB_DB\IDBS.GDB - пишет, что нет базы, независимо от направления слэша. //localhost/SERVER\IB_DB\IDBS.GDB - пишет Unable to complete network request to host "localhost". Failed to establish a connection. unknown Win32 error 123 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2003, 05:03 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
//localhost/SERVER\IB_DB\IDBS.GDB - пишет Unable to complete network request to host "localhost". Failed to establish a connection. unknown Win32 error 123 ну ты это разбирись со слешем то а к самойто базе конект есть или нет тоесть допустим IBExpert ом заходиш правиш все ок. если нет то вот тута все и дело ... если да то проблема то в php ты неправильно указываеш путь. потому как для него неважно где на диске у тебя он лежит онже идет от линка тоесть localhost:port/...(далее путь относительно хома линка) порт например 8080 3128 именно то что забито в конфиге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2003, 11:56 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
to toshik-star: Не знаю, в чем дело - наверное, в какой-то ерунде, но я уже все перепробовал. Вобщем, из IBConsole (IBExpert у меня нет) база видна отлично. Затем, чтобы проверить видимость каталога базы из браузера, пометил туда страницу, и она видна, то есть: echo '<br> <a href="//localhost/server/ib_db/rate.html">sss</a>'; - работает $base='//localhost/server/ib_db/idbs.gdb'; - не работает и в логе: Unable to complete network request to host "localhost". Failed to establish a connection. unknown Win32 error 1231 in D:\soft\Apache2\www\server\php_s\mysql.php on line 15, referer: http://localhost/ открывать файл в том же каталоге: $hf=fopen('D:\soft\Apache2\www\server\ib_db\rate.html',"r"); -работает $base='D:\soft\Apache2\www\server\ib_db\idbs.gdb'; - не работает и в логе: unavailable database in D:\soft\Apache2\www\server\php_s\mysql.php on line 15, referer: http://localhost/ По указанному тобой шаблону 'localhost:port/...' то есть 'localhost:80/server/ib_db/idbs.gdb' ошибка та же. Ничего непойму :(. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2003, 03:55 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
>'localhost:80/server/ib_db/idbs.gdb' Типа заставляем отработать вебсервер как Interbase? Мда.. Пиши localhost:c:\ib_db\idbs.gdb и вопросов не будет... Или явно указать порт FB: localhost/3050:c:\ib_db\idbs.gdb НАсчет в какую сторону слеша давать, кажется, FB фиолетово ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2003, 10:39 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
Та же фигня - не может присоединиться к серверу 'localhost'. я так понял, что "localhost" - не что иное, как 'localhost', строка, возвращаемая от серверного модуля IB. Тут прочитал в хелпе по PHP: To enable InterBase support configure PHP --with-interbase[=DIR], where DIR is the InterBase base install directory, which defaults to /usr/interbase. Так вот, вопрос, надо ли это делать, если надо, то как, если PHP у меня грузится под Apache в виде модуля DLL, то бишь не могу задать командную строку. Или перекомпилировать PHP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2003, 03:45 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
>Так вот, вопрос, надо ли это делать, если надо, >то как, если PHP у меня грузится под Apache в виде модуля DLL, >то бишь не могу задать командную строку. >Или перекомпилировать PHP? Если ты ставил PHP с помощью штатного инсталятора (например php-4.3.4-installer.exe) или из архива, но все равно в виде бинарников (php-4.3.4-Win32.zip) - ничего пепекомпилировать неполучиться.. Оно и не надо:) Все дополнительные модули находятся в DLL-ках в каталоге extensions... Судя потому, что у тебя доступна функция ibase_connect(), модуль php_interbase.dll у тебя загружен... PHP тут скорее всего не причем... >Unable to complete network request to host "localhost". Failed to establish a connection Данное сообщение говорит о том, что невозможно установить соединение, не говоря уже об открытии файла, где именно на диске находтся файл БД пока неважно... Если бы у тебя сервер БД не нашел файла - он бы выдал ошибку ввода/вывода... например такую: I/O error for file "D:\DB\FB\OK.GDB". Error while trying to open file. Не удается найти указанный файл. Есть два сомнения: 1. запушен ли сам сервер БД (есть ли в списке процессов fbserver.exe или ibserver.exe) 2. правильно ли указано имя сервера (в твоем случае localhost, наверное правильно) и порт на котором сидит сервис (по умолчанию 3050, в этом случае указывать не обязательно) Пока больше никаких идей нет, напиши какое ПО используется: ось, версии IB,PHP. Apache я так понял версии 2.0... P.S. >Причем в других программых типа менеджера баз ODBC эта база настроена и хорошо видна. "хоршо видна" (c) - это как понимать? На диске многие файлы очень даже хорошо видны, особенно из файлового менеджера... P.S.2 Использовать ODBC когда есть возможность прямого доступа - это изврат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2003, 15:25 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
>Win32.zip) - ничего пепекомпилировать неполучиться.. Оно и не надо:) Все >дополнительные модули находятся в DLL-ках в каталоге extensions... Так и есть. >Есть два сомнения: >1. запушен ли сам сервер БД (есть ли в списке процессов fbserver.exe или >ibserver.exe) Запущен сервер и еще какой-то сервис. >2. правильно ли указано имя сервера (в твоем случае localhost, наверное >правильно) и порт на котором сидит сервис (по умолчанию 3050, в этом >случае указывать не обязательно) Порт я не указываю, так как IB уже спотыкается на имени сервера. Тут в IBConsole.exe есть проверка сетевых соединений. Так вот, 'localhost' через TCP/IP IB не видит, но видит через низкоуровневые ПИНГИ. Что меня натолкнуло на две мысли - либо IB-сервер не видит эмлируемого Apache TCP/IP - протокола, либо надо ввести сертификат с кодом, и только после этого IB будет обрабатывать сетевые подключения. Вообще, надо разобраться со схемой работы Apache+PHP+IB на системном уровне, как в учебниках, но это нигде не описано. >Пока больше никаких идей нет, напиши какое ПО используется: ось, версии >IB,PHP. Apache я так понял версии 2.0... ОС - WIn2K SP2 IB -6 PHP - 4 Apache -2 >"хоршо видна" (c) - это как понимать? На диске многие файлы очень даже Вобщем сделал на VC прогу, напрямую подключающуюся к серверу IB с параметрами типа 'd:\db.gdb' 'sysdba' 'masterkey' Подключается и видит данные, то есть обрабатывает запросы. В то время как в PHP говорит, что неправильная база. Видимо причина в том, что PHP работает под Apache, то есть по протоколу TCP/IP, а IB-сервер эти запросы ни в каком виде понимать не хочет, почему - мое мнение см. выше. >Использовать ODBC когда есть возможность прямого доступа - это изврат. Когда изврат, а когда - выход их положения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2003, 04:59 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
>Запущен сервер и еще какой-то сервис. Это гвардеец, он заново запустит IB в случае его падения, но по моему w2k сама заново стартует севисы... Ну если у тебя не видно сервера по TCP/IP то тут вряд ли виноваты IB или PHP. Попробуй приконнектится к базе с другой машины, что в этом случае скажет... МОжет какие заморочки с апачем 2-м... но по этому поводу ничего не могу сказать, не работал... на первом у меня уже подобная связка работает больше 3-х лет. P.S. >ОС - WIn2K SP2 поставь 4-й сервиспак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2003, 12:35 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
Все, "машинка" заработала. Не знаю, в чем было дело, но еще раз переустановил IB-сервер и в рабочем каталоге InterBase появился другой лицензионный файл - с тремя, а не двумя записями. Запустил проверку 'localhost' по TCP/TP через 3050 - видит. Потом подключение к удаленному серверу 'localhost' через TCP/IP и имя базы данных полное - D:\soft\Apache2\www\server\ib_db\IDBS.GDB, все видит. Поместил в PHP строку $base='localhost:D:\soft\Apache2\www\server\ib_db\IDBS.GDB'; и опять все видит. Правда как к локальной, к базе подключаться не хочет, говорит 'unavailable database'. Ну это уже не обязательно. P.S. спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2003, 03:15 |
|
||
|
Interbase & PHP
|
|||
|---|---|---|---|
|
#18+
А PHP, по моему, и не умеет локально коннектится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2003, 13:06 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32332056&tid=1579584]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
160ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 456ms |

| 0 / 0 |
