2013-04-12 52 views
0

我有一個使用PHP製作的CMS,我想向它添加一些自我更新功能。使用PHP在Linux服務器上編寫代碼的最佳方法

自我更新系統可能是一個複雜而乏味的事情,我知道,但這是一個完全不同的故事。底線是,我最終創建新的PHP文件,用新代碼編輯現有的文件,並在更新發生時刪除一些PHP文件。

我知道如何在PHP中讀取,寫入和刪除文件,但是當我不用chmod FTP客戶端的文件夾到0777時,這幾乎總是會給我在Linux服務器上造成問題。

我也知道PHP有chmodchown的功能。但大多數時候這些功能不是也適用於我。主要是因爲所有的PHP文件都是通過FTP上傳的,FTP有權將文件和文件夾寫入FTP組(或類似的東西)。

我還在Linux服務器上安裝了一個Wordpress博客,但由於某種原因,這個WordPress的網站沒有更新自己的麻煩。我認爲它和我說的是一樣的;創建,更新和刪除某些文件。但是,我曾經使用過的Wordpress網站都沒有抱怨說它由於文件夾/文件權限而無法自行更新。

所以我猜Wordpress使用一種聰明的方式在需要時更改文件夾權限。我無法弄清楚如何。

所以基本上我的問題是,什麼是給Linux系統上的chmod文件和文件夾的PHP權限的最佳方式是什麼?像Wordpress這樣的系統如何處理這個問題?

+0

由ftp寫的文件將完成任何用戶的ftp服務器運行。 WP可以自行更新,因爲它將在Apache中運行,而且一般站點中的文件都由apache擁有。你可以嘗試通過設置相關的目錄sgid來強制組的所有權。 'chmod 2775 writable_dir',然後只使用那個特定的組。 –

+0

如果您的問題在Linux服務器上是_permissions,那麼爲什麼不開始處理在環境中正確設置權限? – dbf

回答

0

您可以將該文件夾設置爲0777,這將使PHP能夠在其中創建文件。您也可以將該文件夾chown到萬維網數據或任何您的PHP副本運行...

+0

正如你可能知道將文件夾設置爲0777不是一件好事......下一個問題是'chown'你通常無法在共享主機上顯示。即使你需要一種方法來確定PHP的運行方式。因爲這可以在其他系統上有所不同。 – Vivendi

+0

你從未指定你在共享主機上。其次,我不讚賞你的倒票......我只是在幫助。如果解決方案不適合你,請求另一個解決方案。 Wordpress要求將文件夾設置爲777,幾乎每個其他CMS都需要。 –

+0

我知道,但你發佈了我基本上說過的話。我知道我可以將權限更改爲777,但這似乎是一個糟糕的主意。我的印象是Wordpress和其他人不這樣做。但它看起來像你在正確的方向。最低權限似乎是766,需要手動設置。在我的一臺服務器上,'755'似乎夠用了。對不起雖然downvote,似乎你是在正確的方向。我會接受這個答案。 – Vivendi

相關問題