次のコード行を実行しようとしています。
$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