Ошибка php dbase при открытии файла .dbf - PullRequest
1 голос
/ 17 февраля 2012

Я пытаюсь использовать библиотеку dbase в php5.3, чтобы открыть файл .dbf. У меня установлена ​​библиотека dbase.so и она активна на моей сборке php5, и я выполняю следующий код:

$db = dbase_open('CMX.dbf', 0);
if( $db ){
    echo 'success';
    dbase_close($db);
}

Где CMX.dbf является таблицей данных Visual FoxPro9 и находится в том же каталоге, что и исполняемый скрипт с включенными разрешениями на чтение / запись / выполнение.

Ниже приведен пример из /var/log/apache2/error.log:

PHP Warning:  dbase_open(): unable to open database CMX.dbf in /var/www/test.php on 

строка 28

Поскольку эта ошибка / предупреждение не очень наглядна, у меня возникают проблемы с поиском основной причины. Кто-нибудь может помочь с этим?

Ответы [ 3 ]

0 голосов
/ 24 мая 2012

Попробуйте это (в foxpro):

use cmx.dbf
copy to cmx_php.dbf type fox2x

У меня была похожая проблема, когда некоторые БД открывались, а другие - нет. Это позволило мне получить доступ к БД с php/dbase.so

Я нашел информацию здесь в разделе комментариев.

0 голосов
/ 31 марта 2015

Попробуйте это:

$db_path = "CMX.dbf";

$db = dbase_open($db_path, 0) // 0=ReadOnly, 1=WriteOnly 2=ReadWrite 
       or die("Error! Could not open dbase database file '$db_path'.");

if( $db ){
    echo 'success';
    dbase_close($db);
}
0 голосов
/ 17 февраля 2012

Не имеет положительного отношения ни к PHP, ни к Apache, но, как правило, при попытке подключиться к файлам базы данных (или Foxpro), типичным подходом было бы иметь ПОДКЛЮЧЕНИЕ к PATH, а затем выполнить запрос по имени таблицы. ...

...