powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Interbase & PHP
16 сообщений из 16, страница 1 из 1
Interbase & PHP
    #32326931
foliage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему-то в PHP при использовании команд присоединения к базе
InterBase напрямую или через ODBC выдается
сообщение в логе Apache, что указана несуществующая база.
Причем в других программых типа менеджера баз ODBC эта
база настроена и хорошо видна.
В чем тут может быть дело, кто-нибудь знает ?
...
Рейтинг: 0 / 0
Interbase & PHP
    #32326988
anjey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"команды присоединения" - это ibase_connect ?
...
Рейтинг: 0 / 0
Interbase & PHP
    #32327852
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");
...
Рейтинг: 0 / 0
Interbase & PHP
    #32329518
foliage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
...
Рейтинг: 0 / 0
Interbase & PHP
    #32329593
toshik-star
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а так это под винами
тоды проверь строчку в php.ini если что откоментируй строчку
magic_quotes_sybase = On
потом проверь путь к бд...
проверь в броузере
набери просто localhost все результаты сюда.
...
Рейтинг: 0 / 0
Interbase & PHP
    #32332056
foliage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
...
Рейтинг: 0 / 0
Interbase & PHP
    #32332095
toshik-star
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
//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 именно то что забито в конфиге.
...
Рейтинг: 0 / 0
Interbase & PHP
    #32333661
foliage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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'
ошибка та же.
Ничего непойму :(.
...
Рейтинг: 0 / 0
Interbase & PHP
    #32333858
Roman Ignatiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>'localhost:80/server/ib_db/idbs.gdb'
Типа заставляем отработать вебсервер как Interbase? Мда..
Пиши localhost:c:\ib_db\idbs.gdb и вопросов не будет... Или явно указать порт FB: localhost/3050:c:\ib_db\idbs.gdb НАсчет в какую сторону слеша давать, кажется, FB фиолетово
...
Рейтинг: 0 / 0
Interbase & PHP
    #32336140
foliage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Та же фигня - не может присоединиться к серверу '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?
...
Рейтинг: 0 / 0
Interbase & PHP
    #32336878
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Так вот, вопрос, надо ли это делать, если надо,
>то как, если 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 когда есть возможность прямого доступа - это изврат.
...
Рейтинг: 0 / 0
Interbase & PHP
    #32337314
foliage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>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 когда есть возможность прямого доступа - это изврат.
Когда изврат, а когда - выход их положения.
...
Рейтинг: 0 / 0
Interbase & PHP
    #32337646
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Запущен сервер и еще какой-то сервис.
Это гвардеец, он заново запустит IB в случае его падения, но по моему w2k сама заново стартует севисы...


Ну если у тебя не видно сервера по TCP/IP то тут вряд ли виноваты IB или PHP. Попробуй приконнектится к базе с другой машины, что в этом случае скажет...

МОжет какие заморочки с апачем 2-м... но по этому поводу ничего не могу сказать, не работал... на первом у меня уже подобная связка работает больше 3-х лет.

P.S.
>ОС - WIn2K SP2
поставь 4-й сервиспак.
...
Рейтинг: 0 / 0
Interbase & PHP
    #32338356
foliage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, "машинка" заработала.
Не знаю, в чем было дело, но еще раз переустановил 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.
спасибо за помощь.
...
Рейтинг: 0 / 0
Interbase & PHP
    #32338421
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А PHP, по моему, и не умеет локально коннектится...
...
Рейтинг: 0 / 0
Interbase & PHP
    #32340070
foliage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и ладно.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Interbase & PHP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]