2016-06-21 41 views
0

我已經爲開發一些web應用程序安裝了一個小Ubuntu服務器。Ubuntu服務器無法在PHP中創建目錄

我有一個使用的mkdir()創建目錄的小腳本,但我得到一個權限被拒絕,它是一個簡單的命令

mkdir($directory); 

,即時通訊得到的是

[Tue Jun 21 22:27:25.079075 2016] [:error] [pid 21150] [client 192.168.0.8:55413] PHP Warning: mkdir(): Permission denied in ......... 
錯誤

我也獲得許多其他命令的權限,如ftp_get()

當我檢查phpinfo()upload_tmp_dir設置爲沒有值。

我不是很擅長服務器管理員,所以任何幫助將不勝感激。

我從教程安裝服務器,然後從另一個教程安裝我的虛擬主機。

謝謝你們:)

+0

這不是PHP的問題。運行PHP的進程沒有執行請求所需的權限。您需要正確配置您的服務器。找出哪個用戶正在爲你運行PHP(如果這是apache,它可能是www-data),將此用戶添加到正確的組中,以便它可以在目錄中執行所需的操作。您可能還想包含更多關於用戶,組和他們的權限的信息,並在ubuntu SO站點上詢問。 – OptimusCrime

+0

@OptimusCrime .. sudo chown -R www-data:www-data/var/www ...會不會是我的問題的永久解決方案? – BigJobbies

+0

一個更好的方法是將用戶添加到正確的組 – OptimusCrime

回答

0

你需要確認啓動PHP服務的用戶有權限如果不是,寫的目錄。您可以嘗試使用命令sudo chown -R php_user /which_directory_you_want_to_mkdir,而不是輸入root密碼並再次運行程序。祝你好運。

我的英文不是很好,對不起

+0

嘿,這只是一個臨時解決方案,雖然不是嗎? ...如果應用程序正在創建目錄,則需要始終設置權限 – BigJobbies

+0

我並不真正知道您想要做什麼,但根據您的代碼和錯誤消息,也許您可​​以檢查路徑'$ directory '確保你有權使用它。 – Vincik

相關問題