Forum Webscript.Ru

Программирование => PHP => Тема начата: Red_Lemur от 06 Февраля 2007, 14:59:50

Название: Добавить библиотеку в PHP
Отправлено: Red_Lemur от 06 Февраля 2007, 14:59:50
Так случилось, что мне, веб-программисту пришлось выполнять обязанности сисадмина...

Требуется добавить в рабочий PHP поддержку php_dbase
Я уже пол интернета обрыл и все имеющиеся книги пролистал...
Правильно ли яонял, что требуется переконфигурирование PHP (работает на Unix). Для этого я должен запустить phpinfo, посмотреть, с какими параметрами он был запущен и дописать в конец строки
\'./configure\' \'--enable-versioning\' \'--enable-memory-limit\' \'--with-layout=GNU\' \'--with-config-file-scan-dir=/etc/php\' \'--with-apxs=/usr/local/apache/bin/apxs\' \'--with-xml\' \'--without-mysql\'
свою часть (--enable-dbase) и затем запустить под рутом на сервере эту строчку.

вопрос 1 - так ли это?
вопрос 2 - если это так, то в какой директории я должен этй конфигурацию выполнять?

З.Ы. Понимаю, что занимаюсь не своим делом, но выхода нет... Увы... Не откажите в помощи...
Название: Добавить библиотеку в PHP
Отправлено: andymc от 06 Февраля 2007, 15:25:53
Я думаю, всё проще. Открываешь файл конфигурации php.ini и раскомментируешь строку ;extension=php_dbase.dll.
Само собой в папке \\usr\\local\\php\\extensions должна быть диллка php_dbase.dll.
Скачать все модули можно с сайта denwer.ru
Название: Добавить библиотеку в PHP
Отправлено: Red_Lemur от 06 Февраля 2007, 15:35:48
Цитировать
andymc:
;extension=php_dbase.dll

Ты наверное, хотел сказать :
extension=dbase.so
Так?
Название: Добавить библиотеку в PHP
Отправлено: andymc от 06 Февраля 2007, 15:41:14
extension=dbase.so
у меня такого нету. У меня в конфиге ;extension=php_dbase.dll + такая же диллка в usr...
Ты можешь попробовать и то и то, хуже не будет.

Кстати, в мануле  написано:
Цитировать
Мы не рекомендуем использовать dBase-файлы в качестве действующей БД. Вместо этого выберите нормальный SQL-сервер; обычно для работы с РНР выбирают MySQL или Postgres.
Название: Добавить библиотеку в PHP
Отправлено: Red_Lemur от 06 Февраля 2007, 15:50:42
Цитировать
andymc:
у меня такого нету. У меня в конфиге ;extension=php_dbase.dll + такая же диллка в usr...

А нет у тебя, случайно, чуть выше такой строчки:
;Windows Extensions  ???
Цитировать
andymc:
Ты можешь попробовать и то и то, хуже не будет.

Хуже не будет, если ты на локале дома это тестируешь... А если на этом серваке десяток проектов висит, то может быть настолько хуже, что на всю жизнь этот день запомнится... :)
Название: Добавить библиотеку в PHP
Отправлено: ferryman от 06 Февраля 2007, 16:10:30
Люди.. внимательней читаем -
Цитировать
(работает на Unix)


если freebsd, то /usr/ports/lang/php-extensions
Название: Добавить библиотеку в PHP
Отправлено: Макс от 06 Февраля 2007, 16:19:52
Общая последовательность команд :
./configure с_параметрами
make
make install

Выполнять в папке с исходниками ПХП
configure - просто делает некоторые приготовления
make - собственно делает компиляцию
make install - копирует новый скомпилированый пхп в нужное место

ЗЫ
и configure  - там кавычек не надо ( ни вокруг каманды, ни вокруг параметров)
Название: Добавить библиотеку в PHP
Отправлено: Red_Lemur от 06 Февраля 2007, 16:55:07
Большое спасибо! УЖе теплее...

1. А могу я где-нибудь узнать точно, где лежит дистрибутив, из которого этот php был собран?

2. У нас стоит FreeBSD 5.3-RELEASE. В папке /usr/ports/lang/php4-extensions лежат всего два файла: Makefile и pkg-descr
Это о чем нибудь говорит? От сюда надо запускать инсталяцию?

3. Где-то, кроме как через браузер, командой phpinfo() я могу увидеть эту строчку - ./configure с_параметрами для текущего php ?
Название: Добавить библиотеку в PHP
Отправлено: ferryman от 06 Февраля 2007, 17:01:29
вот и запусти make install clean

ps кста. в нете этого добра хватает
Название: Добавить библиотеку в PHP
Отправлено: Red_Lemur от 06 Февраля 2007, 17:11:36
Цитировать
вот и запусти make install clean
ps кста. в нете этого добра хватает

- То есть, если я не могу найти дистрибутив на своем диске, я должен найти в сети этот же релиз php (у нас 4.3.10) и инсталировать его. В этом случае будет минимальная вероятность, что что-нибудь из работающих на этом серваке проектов слетит. Правильно я рассуждаю?

- make install с параметром clean, на сколько я знаю, просто убирает объектные и бинарные файлы за собой... Разве мне это принципиально?
Название: Добавить библиотеку в PHP
Отправлено: andymc от 06 Февраля 2007, 18:25:41
Red_Lemur, ;Windows Extensions  ???
Да точно... Всё верно. Как говорится, больше буду знать!
.so - для UNIX
.dll - для WINDOWS
Название: Добавить библиотеку в PHP
Отправлено: Red_Lemur от 12 Февраля 2007, 16:32:55
Тогда еще один вопрос: А есть ли возможность подключить динамически модуль dbase, не обновляя полностью php?
Название: Добавить библиотеку в PHP
Отправлено: Red_Lemur от 12 Февраля 2007, 17:37:10
Обалдеть...
Никакой пересборки не потребовалось... Проблема решилась следующим образом:

1. в php.ini разкомментировал строчку
extension=dbase.so
2. в папку, указанную в extension_dir (в том же php.ini) добавил саму dbase.so
3. перегрузил apache и библиотека подключилась, - все заработало!!!
Название: Добавить библиотеку в PHP
Отправлено: andymc от 12 Февраля 2007, 19:09:34
Ну вот я ж говорил, всё просто, а вы "пересборка, пересборка..."
Название: Добавить библиотеку в PHP
Отправлено: CGVictor от 12 Февраля 2007, 19:25:31
[m] Тема закрыта.