Страница 1 из 1
FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-27 13:50:59
spy
Не умею пользоваться поиском, поэтому поиск не помог
У меня стоит FreeBSD 7.0, стоит Апач, пхп5.
Нужно прикрутить интербэйс.
Много перечитал но все как то туманно.
Мой скрипт выдает ошибку
Код: Выделить всё
Fatal error: Call to undefined function ibase_connect() in /usr/local/www/data/conf_cinema.php on line 5
Вот кусок кода, на всякий случай:
Код: Выделить всё
$cdt_sessions_date = "SELECT * FROM CARD_TRANSACTIONS WHERE CARD_CODE='$card' and TRANSACTION_TYPE='9'";
$cdt_sessions_date_q = ibase_query($dbh, $cdt_sessions_date);
$i=0;
while ($row_cdt_sessions_date_q = ibase_fetch_object($cdt_sessions_date_q))
{
$dat=$row_cdt_sessions_date_q->SUMM;
$i=$i+$dat;
}
Подскажите пожалуйста как включить поддержку InterBase в уже установленном пхп.
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-27 14:18:07
zg
видимо собрать /usr/ports/databases/php5-interbase/
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-27 15:36:17
spy
Вот такая бяка. Честно пытался вникнуть, но нифига не понял
Код: Выделить всё
unix# cd /usr/ports/databases/php5-interbase/
unix# make install clean
===> php5-interbase-5.2.8 depends on file: /usr/local/bin/phpize - found
===> php5-interb[quote][code]
[/quote]ase-5.2.8 depends on file: /usr/local/bin/autoconf-2.62 - found
===> php5-interbase-5.2.8 depends on shared library: fbclient.2 - not found
===> Verifying install for fbclient.2 in /usr/ports/databases/firebird20-client
===> Building for firebird-client-2.0.3_2
==> Please do not build firebird as 'root' because this may cause conflicts with SysV semaphores of running services.
*** Error code 1
Stop in /usr/ports/databases/firebird20-client.
*** Error code 1
Stop in /usr/ports/databases/php5-interbase.
[/code]
Под логином не рута
Код: Выделить всё
$ cd /usr/ports/databases/php5-interbase/
$ make install clean
===> php5-interbase-5.2.8 depends on file: /usr/local/bin/phpize - found
===> php5-interbase-5.2.8 depends on file: /usr/local/bin/autoconf-2.62 - found
===> php5-interbase-5.2.8 depends on shared library: fbclient.2 - not found
===> Verifying install for fbclient.2 in /usr/ports/databases/firebird20-client
===> Building for firebird-client-2.0.3_2
[ -f /usr/ports/databases/firebird20-client/work/ipcs.pre.build ] || /usr/bin/ipcs -s | /usr/bin/tail -n +3 | /usr/bin/grep -F `/usr/bin/id -un` | /bin/cat > /usr/ports/databases/firebird20-client/work/ipcs.pre.build
cannot create /usr/ports/databases/firebird20-client/work/ipcs.pre.build: Permission denied
*** Error code 2
Stop in /usr/ports/databases/firebird20-client.
*** Error code 1
Stop in /usr/ports/databases/php5-interbase.
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-27 17:21:34
zg
под рутом надо очистить установку make clean и дать парава на запись группе chmod 775 . , затем залогиниться под другим пользователем в группе wheel и собрать порт
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-28 7:28:56
spy
zg писал(а):под рутом надо очистить установку make clean и дать парава на запись группе chmod 775 . , затем залогиниться под другим пользователем в группе wheel и собрать порт
Это помогло, но в конце опять не понятные для меня ошибки

:
Код: Выделить всё
/usr/ports/databases/php5-interbase/work/php-5.2.8/ext/interbase/interbase.c: In function '_php_ibase_error':
/usr/ports/databases/php5-interbase/work/php-5.2.8/ext/interbase/interbase.c:241: warning: 'isc_interprete' is deprecated (declared at /usr/local/include/ibase.h:743)
/usr/ports/databases/php5-interbase/work/php-5.2.8/ext/interbase/interbase.c: In function 'zif_ibase_trans':
/usr/ports/databases/php5-interbase/work/php-5.2.8/ext/interbase/interbase.c:897: error: expected expression before 'ibase_db_link'
/usr/ports/databases/php5-interbase/work/php-5.2.8/ext/interbase/interbase.c:967: error: expected expression before 'ibase_db_link'
*** Error code 1
Stop in /usr/ports/databases/php5-interbase/work/php-5.2.8/ext/interbase.
*** Error code 1
Stop in /usr/ports/databases/php5-interbase.
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-28 9:33:07
zg
в общем поставил firebird-client описанным выше способом, потом под рутом собрал порт для пхп, накаких ошибок не было
Код: Выделить всё
php -i
....
interbase
Firebird/InterBase Support => dynamic
Compile-time Client Library Version => Firebird API version 20
Run-time Client Library Version => FB-V6.3.3.12981 Firebird 2.0
Код: Выделить всё
zg# pkg_info | grep -E fire\|php5-inter
firebird-client-2.0.3_2 Firebird-2 database client
php5-interbase-5.2.8 The interbase shared extension for php
zg#
если у тебя версии отличаются, то обновляй порты или ставь пакетом.
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-28 15:16:38
spy
Под рутом
Код: Выделить всё
unix: cd /usr/ports/databases/firebird20-client
unix: chmod 775 .
Не под рутом
Код: Выделить всё
$: cd /usr/ports/databases/firebird20-client
$: make install clean
....
....
....
===> Returning to user credentials
===> Cleaning for firebird-client-2.0.3_2
$:
Под рутом
Код: Выделить всё
unix# cd /usr/ports/databases/php5-interbase/
unix# make clean
unix# make install
/usr/ports/databases/php5-interbase/work/php-5.2.8/ext/interbase/interbase.c:897: error: expected expression before 'ibase_db_link'
/usr/ports/databases/php5-interbase/work/php-5.2.8/ext/interbase/interbase.c:967: error: expected expression before 'ibase_db_link'
*** Error code 1
Stop in /usr/ports/databases/php5-interbase/work/php-5.2.8/ext/interbase.
*** Error code 1
Stop in /usr/ports/databases/php5-interbase.
unix#
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-28 16:45:01
zg
Код: Выделить всё
zg# sha256 /usr/ports/distfiles/php-5.2.8.tar.bz2
SHA256 (/usr/ports/distfiles/php-5.2.8.tar.bz2) = a70600e13410213a637f1c9825e9c0d45c64de8cefb1929f8f5aa761b20b2b67
zg# uname -a
FreeBSD zg.test.ru 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
zg#
никаких настроек системы я не делал...

Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-28 17:01:30
spy
Все спасибо с этим я разобрался, но теперь другая проблема, когда запуская скрипт браузер выдает ошибку:
Код: Выделить всё
ERROR
The requested URL could not be retrieved
While trying to retrieve the URL: http://192.168.124.229/index.php?
The following error was encountered:
Zero Sized Reply
Squid did not receive any data for this request.
Your cache administrator is webmaster.
Generated Sat, 28 Feb 2009 13:52:13 GMT by unix.unix (squid/2.7.STABLE5)
Пробывал чистить кэш, не помогает.
Другие сайты на этом хосте работают, webmin например.
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-28 17:11:16
zg
попробуй запустить прямо с сервера
Код: Выделить всё
wget -S --spider http://192.168.124.229/index.php
ну и вывод сюда
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-28 17:18:04
spy
zg писал(а):попробуй запустить прямо с сервера
Код: Выделить всё
wget -S --spider http://192.168.124.229/index.php
ну и вывод сюда
Код: Выделить всё
unix# wget -S --spider http://192.168.124.229/index.php
wget: Command not found.
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-02-28 17:41:52
zg
spy писал(а):wget: Command not found.
и ещё раз -)
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-03-02 4:50:32
spy
Код: Выделить всё
unix# wget -S --spider http://192.168.124.229/index.php
--08:43:59-- http://192.168.124.229/index.php
=> `index.php'
Connecting to 192.168.124.229:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Date: Mon, 02 Mar 2009 01:43:59 GMT
Server: Apache/1.3.41 (Unix) PHP/5.2.8 with Suhosin-Patch
X-Powered-By: PHP/5.2.8
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html
Length: unspecified [text/html]
200 OK
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-03-02 6:04:05
zg
spy писал(а):200 OK
веб-сервер пашет, проблема в проксе
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-03-02 7:51:39
spy
zg писал(а):spy писал(а):200 OK
веб-сервер пашет, проблема в проксе
Какого рода может быть проблема в проксе, как ты думаешь?
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-03-02 9:08:08
zg
spy писал(а):Какого рода может быть проблема в проксе, как ты думаешь?
я думаю фаервол неправильно настроен между проксёй и сервером
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-03-02 9:14:24
spy
Но я не запускал файрвол
Код: Выделить всё
No IPFilter firewall has been setup yet on your system.
Webmin can set one up for you, to be stored in the file , with the initial settings based your selection of firewall type below..
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-03-02 9:19:18
spy
Я начал здесь обсуждать проблему со SQUID. Присоединяйся, мне важен твой опыт...
http://forum.lissyara.su/viewtopic.php? ... 49#p145649
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-03-02 9:23:20
zg
spy писал(а):Но я не запускал файрвол
подключение идёт на 80 порт, потом его переводят на другой. Данные никогда не передаются через 80 порт. У тебя подключение проходит нормально, но данные не передаются, это значит, что сам 80 порт открыт, но дальше не удаётся подключится к другому (динамическому) порту для передачи данных. Поэтому и подозрения идут на фаервол, поскольку в прозрачной сети такая ошибка маловероятна.
Попробуй подключиться без прокси
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-03-02 9:28:51
spy
Я немогу почему то отдельно прокси остановить. У меня просто из самбы там юзеры авторизуются.
Я делаю
но он все равно в процессах весит
Код: Выделить всё
974 ?? Is 0:00.00 /usr/local/sbin/squid -D
976 ?? S 0:18.50 (squid) -D (squid)
987 ?? Is 0:00.00 (squid_ldap_auth) -v 3 -b dc=kinomax24,dc=ru 127.0.0.1 (squid_ldap_auth)
988 ?? Is 0:00.00 (squid_ldap_auth) -v 3 -b dc=kinomax24,dc=ru 127.0.0.1 (squid_ldap_auth)
989 ?? Is 0:00.00 (squid_ldap_auth) -v 3 -b dc=kinomax24,dc=ru 127.0.0.1 (squid_ldap_auth)
990 ?? Is 0:00.00 (squid_ldap_auth) -v 3 -b dc=kinomax24,dc=ru 127.0.0.1 (squid_ldap_auth)
991 ?? Is 0:00.00 (squid_ldap_auth) -v 3 -b dc=kinomax24,dc=ru 127.0.0.1 (squid_ldap_auth)
97292 p0 R+ 0:00.00 grep squid
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-03-02 9:35:49
zg
spy писал(а):но он все равно в процессах весит
я так понимаю у тебя непрозрачный прокси, поэтому он должен быть прописан в браузере. Надо его просто в настройках отключить и попробовать.
ну и не забывай, что фаервола как минимум три - на твоей машине, на циске и на сервере, каждый из них может резать порты. Правда, хорошо бы схему, как у тебя сеть устроена.
Re: FreeBSD + PHP5 + InterBase
Добавлено: 2009-03-02 9:37:06
spy
zg писал(а): Правда, хорошо бы схему, как у тебя сеть устроена.
http://forum.lissyara.su/viewtopic.php? ... 49#p145649