Как влючить поддержку dbase в php в Linux Mandriva

Lvovich

Новичок
Как влючить поддержку dbase в php в Linux Mandriva

Здравствуйте! Помогите советом в следующей задаче:
Имею Linux Mandriva 2007. На ней работает связка PHP(5.2.1)+MySQL(5.0.37)+Apache(2.2.4)
Требуется в PHP реализовать доступ к базам в dbf формате. читал, что можно установить модули расширений. Скачал пакет rpm c библиотекой dbase.so версии 5.1.6.mdv2007
После установки она автоматически поместилась в каталог расширений php. Собственно больше ничего не делал. Далее запускаю
тестовый скрипт следующего содержания:

<?php
$def = array(
array("Status", "N", 1, 0),
array("Name", "C", 100),
array("Price", "N", 10, 4)
);
if (!dbase_create('price.dbf', $def)) {
die("Error, can't create the database");
}
echo "It works!<br>\n";
?>
при запуске указанного примера получаю fatal error - call to undefined function dbase_create()
из чего делаю вывод, что dbase функции php не понимает.
1. Возможно ли подключать таким образом расширение dbase для php и если да, то что сделал не так?
2. Если нет - посоветуйте другие варианты. возможно пересборка Php - как грамотно сделать
 

Santiago

Новичок
1. Видимо, модуль не подключен в php.ini. Что говорит:
php -i | grep -i dBase
2. Пересобрать с --enable-dbase
 

tony2001

TeaM PHPClub
ничего не надо пересобирать, раз уже всё установил из пакетов.
в php.ini - extension=dbase.so
 

Lvovich

Новичок
1.пробовал добавить в php.ini extension=dbase.so - результат тот же функции dbase не понимает. Кроме того возник вопрос как прописывать extension в ini нужно объявлять раздел
[extension]
extension=dbase.so
или просто
extension=dbase.so
В самом php.ini написано (по ангельски и если я правильно понял) что теперь библиотека сама себя объявляет в дирректории etc/php.d/ - после установки dbase там появился файлик 15_dbase.ini где также объявлена extension=dbase.so
2. По поводу пересборки - ни разу не сталкивался поэтому есть вопросы:
а) куда добавлять -enable-dbase (это делается на этапе
./configure - просто смутно представляю себе это
б) могу я вообще пересобрать php если устанавливал его с диска DVD Mandriva - т.е. для этого нужна папка с дистрибутивом а где мне ее найти (где то на этом DVD?)
Спасибо за ответы. Не ругайте чайника если что.
 

dimagolov

Новичок
tony2001, Lvovich. в разных unix-ах по-разному. в FreeBSD да, все ставиться метопортом и подключается через extention.ini. А в RedHat, к примеру, пользуясь утилитой установки пакетов надо установить нужный пакет (php-dbase)
 

tony2001

TeaM PHPClub
еще раз повторяю: раз уж ты пакет не можешь поставить, то собирать что-то тебе точно рано.
разбирайся.

-~{}~ 14.08.08 00:51:

dimagolov, везде надо прописывать, сам по себе он не подключится.
другое дело, что некоторые дистрибутивы думают, что они умнее всех и делают вышеописанным образом.
 

Santiago

Новичок
Lvovich
Думаю, сначала следует ответить на вопросы:
1. Где лежит файл dbase.so?
2. Какая директория указана в extension_dir (см. php.ini)?
 

Lvovich

Новичок
Решил свою проблему подбором другой rpm-ки
подошла php_dbase-5.2.4-2mdv2008
 

dimagolov

Новичок
Lvovich, обновились бы до 5.2.6 со всеми расширениями. (PHP(5.2.1), php_dbase-5.2.4-2mdv2008). честно говоря даже не обратил внимание в начале, что пытались лепить dbase.so версии 5.1.6.mdv2007, так как не следить за соответствием версий это создавать головняк самому себе на ровном месте и надеется что такой зоопарк заработает по меньшей мере наивно.
А что, в Mandriva нету менеджера пакетов, который бы следил за зависимостями и версиями?
 
Сверху