我正在尝试使用php5.3中的dbase库来打开.dbf文件。我已经在我的php5版本上安装并激活了dbase.so库,并且我正在执行以下代码:
$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行
由于此错误/警告不是非常具有描述性,因此我遇到了追踪根本原因的问题。任何人都可以帮忙吗?
答案 0 :(得分:0)
对PHP和Apache不是肯定的,但通常,当尝试连接到数据库文件(或Foxpro)时,典型的方法是对PATH进行连接,然后对表的名称执行查询。 ...
答案 1 :(得分:0)
试试这个(在foxpro中):
use cmx.dbf
copy to cmx_php.dbf type fox2x
我遇到了类似的问题,其中某些dbs会打开而其他人则不会。这允许我使用php/dbase.so
我在评论部分找到了信息here。
答案 2 :(得分:-1)
试试这个:
$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);
}