我有config.php,我在該文件上做了一個ls-l,它顯示了-rwxrwxr-x的讀,寫和可執行文件。PHP文件不可寫入錯誤。
但是在PHP腳本中,is_writable(config.php)函數顯示文件不可寫。
這是爲什麼?
我有config.php,我在該文件上做了一個ls-l,它顯示了-rwxrwxr-x的讀,寫和可執行文件。PHP文件不可寫入錯誤。
但是在PHP腳本中,is_writable(config.php)函數顯示文件不可寫。
這是爲什麼?
大概是因爲PHP腳本運行作爲不同的用戶比你運行-l
嘗試執行LS命令:chmod + W的config.php
這組沒有文件屬於哪一種?
rwxrwxr-x表示該文件可由用戶和組寫入,但不能由其他人寫入。
現在,如果您的網絡服務器進程(即主持php)正在訪問該文件,它以用戶'nobody'或'www-data'的方式進行操作,所以這是需要擁有該文件或具有組的用戶寫入訪問它。
一個快速修復:如果你將文件的一個chown文件傳遞給apache正在運行的用戶,你應該沒問題。
該文件屬於admin,這就是我。我運行php腳本。但我如何驗證我運行Apache作爲我自己,管理員? – lilzz 2012-02-19 22:17:47
@lilzz在PHP中,做echo shell_exec('whoami'); – Roman 2012-02-19 22:21:25
ps aux | grep apache,第一列顯示用戶 – mindandmedia 2012-02-19 22:22:00
誰擁有該文件?誰運行php? – zerkms 2012-02-19 22:06:57
PHP是否與文件所有者在同一組中運行? – 2012-02-19 22:07:45
@Oli Charlesworth:與文件所有者技術上相同的羣組是不正確的,只要你可以指定任何羣組作爲文件所有者 – zerkms 2012-02-19 22:09:48