如何在Windows中解决“调用未定义函数dbase_open()”错误

时间:2014-03-12 07:37:53

标签: php mysql xampp gmp dbf

您好我想将DBF文件加载到mysql,使用xampp,php版本5.5.6

我写了下面的代码,

但是我得到了错误---

  

致命错误:调用未定义的函数dbase_open()   第47行的C:\ xampp \ htdocs \ imports \ import_geo.php

$dbf = dbase_open('OUTLETS/regions.dbf', 0);
$num_records = dbase_numrecords($dbf);
for($i=1;$i<=$num_records;$i++)
{
    $record = dbase_get_record_with_names($dbf, $i);
    $stmt_bricks->execute(array(
        ':id' => $next_brick_id,
        ':type' => 'Region',
        ':code' => $record['REG_CODE'],
        ':descr' => $record['REG_DESC'],
    ));
    $regions_code_to_id[$record['REG_CODE']] = $next_brick_id++;
}

我在一篇文章中看到,我们必须在php.ini中取消注释extension=php_gmp.dll,但在我的php.ini中 extension=php_gmp.dll不可用,请帮助我。

提前致谢

5 个答案:

答案 0 :(得分:3)

dBase现在转移到PECL

yum install php-pear
pecl install dbase

成功执行后,您需要将“extension = dbase.so”添加到您的php.ini

或者使用

在/etc/php.d中创建 dbase.ini
extension=dbase.so

fliber.net使用此

答案 1 :(得分:3)

如何使用Ubuntu(15.04):

1)安装php5-dev

sudo apt-get install php5-dev

2)通过pecl安装dbase

sudo pecl install dbase

3)加载扩展

3.1)使用以下内容在dbase.ini目录中创建/etc/php5/mods-available/文件:

extension=dbase.so

3.2)在/etc/php5/apache2/conf.d/目录中创建sym链接:

sudo ln -s ../../mods-available/dbase.ini 20-dbase.ini

4)重启apache

答案 2 :(得分:0)

你需要检查PHP目录是文件php_gmp.dll启用,如果是,那么在php.ini中添加此字符串&#34; extension = php_gmp.dll&#34;在扩展部分。

如果文件不存在,则将其添加到apache中的php - http://www.dll4free.com/php_gmp.dll.html

可能是开放服务器会​​更好的XAMPP - http://translate.google.ru/translate?sl=ru&tl=en&js=n&prev=_t&hl=ru&ie=UTF-8&u=http%3A%2F%2Fopen-server.ru%2Fdownload.html&act=url 它有许多PHP版本,mySQL,PostgresQL,MongoDB,memcache,管理工具,定期更新,论坛中的英语支持和免费!

答案 3 :(得分:0)

检查 'C:\xampp\php\ext' 中是否有 dbase 扩展名(php_dbase.dll)。 如果有 dll 文件,则检查它是否在 php.ini 文件中启用。如果未启用,请从第 3 步开始操作。

如果没有,请按照以下步骤操作。

  1. 根据您的系统和php版本下载(参考以下链接)php_dbase.dll文件。

    链接 - https://pecl.php.net/package/dbase

  2. 将下载的 'php_dbase.dll' 文件添加到 'C:\xampp\php\ext'

  3. 打开php.ini文件

  4. 搜索“extension=',你会在那里找到很多扩展。

  5. 在所有扩展列表之后添加以下行。 'extension=php_dbase.dll'(不带引号)(如果在文件末尾添加这一行没有问题。

重启apache服务器。 它将在本地 - windows 系统中开始工作。

注意:- 如果文件名不同,则用“php_dbase.dll”更新文件名。

答案 4 :(得分:-1)

xampp/php/ext文件夹中查看php_gmp.dll,如果有扩展,请将此extension=php_gmp.dll添加到xampp/php/php.ini中的php.ini文件中。否则将此dll添加到xampp/php/ext并执行上述步骤重新启动Apache服务器