2013-02-15 63 views
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 
+1

對DB文件本身的權限呢?有權訪問目錄並不意味着您有權訪問該文件。 – 2013-02-15 15:24:36

+1

如果使用完整路徑而不是相對路徑,會發生什麼情況? – 2013-02-15 15:24:45

+0

如果文件已經存在,請嘗試將模式設置爲'w'。 – BenM 2013-02-15 15:25:10

回答

0

您應該檢查error_logs以獲取更多線索。