我尝试执行以下代码行:
$dbh = dba_open("./data/products", "c", "gdbm") or die("Couldn't open database");
不幸的是,我得到了骰子。
我认为这里的权限有问题。我已将脚本目录的权限设置为“0777”,将目录的所有者设置为“www-data”(我正在使用 apache2)。我不知道还有哪些信息对解决问题有用。
编辑:我正在尝试创建数据库。它在行执行之前不存在。
Edit2:我也尝试过绝对路径:
$currentDir = getcwd();
$dbh = dba_open("$currentDir/data/products", "c", "gdbm") or die("Couldn't open database");
Edit3:错误日志。
[Fri Feb 15 18:20:37 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.6-1ubuntu1.1 configured -- resuming normal operations
[Fri Feb 15 18:20:41 2013] [error] [client 127.0.0.1] PHP Warning: dba_open(./data/products,c): No such handler: gdbm in /var/www/phpTraining/listing12.1.php on line 14