0
我嘗試執行下面的代碼行:PHP權限
$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
對DB文件本身的權限呢?有權訪問目錄並不意味着您有權訪問該文件。 – 2013-02-15 15:24:36
如果使用完整路徑而不是相對路徑,會發生什麼情況? – 2013-02-15 15:24:45
如果文件已經存在,請嘗試將模式設置爲'w'。 – BenM 2013-02-15 15:25:10