2017-05-22 19 views
0

寫入文件。以下是配置細節:授予的權限,還是WWW的數據不能在我已經建立了一個Ubuntu服務器上的數字海洋文件夾

的Ubuntu版本:Ubuntu的LTS 16.04.2

Apache的版本:阿帕奇/ 2.4.18(Ubuntu的)

我想通過瀏覽器來運行PHP腳本,這將需要在目錄中創建一個文件。我不斷收到/var/log/apache2/error.log文件中的以下權限被拒絕消息fopen(<folder_to_write>): failed to open stream: Permission denied in test_write.php

我發現用戶www-data(apache2用戶)有權限問題。我改變了文件夾的所有者,如下所示: chown -R www-data:www-data folder_to_write 然後 chmod 2775 folder_to_write

這沒有奏效。

最後,我嘗試了最後的選擇。我將目錄權限更改爲sudo chmod -R 777 folder_to_write,希望能夠取得一些成效。但是,儘管給了這個完全訪問權限,但我得到了權限被拒絕的消息。

有沒有人經歷過任何這樣的問題早?不知道我做錯了什麼。我嘗試了與另一個用戶相同的步驟,似乎工作正常。

我感謝您的幫助。非常感謝。

+0

可以做,如果在www數據用戶執行的文件夾巢每次訪問和每個文件夾仔細檢查?因此,如果您需要在嵌套A/B/C中寫入文件夾C,請確保它可以在每個文件夾A,B和C上執行(x)。 –

+0

謝謝@Maurizio。該文件夾確實具有遞歸執行權限。使用相同的權限,來自同一組的另一個用戶可以創建該文件。它只有www-data用戶(它也屬於同一組)不能創建文件。 – abhogu

回答

0

fopen():無法打開流: 它似乎無法找到目錄folder_to_write,請檢查您的絕對目錄路徑,如果配置正確的寫入文件。

+0

謝謝@sahil。是的,路徑是存在的。我與另一個用戶一起嘗試,它工作得很好。只有使用www-data才能解決這個問題。 – abhogu

相關問題