Apache-2.2
Plesk 文件權限 - Apache/PHP 與使用者帳戶衝突
我正在建構一個 Drupal 站點,該站點使用 apache 使用者(id=40)執行各種自動磁碟操作。
問題是該站點是在屬於使用者 ID 10001(即我的主 FTP 帳戶)的子域上設置的,因此文件系統屬於該使用者 ID。
所以我不斷收到這樣的錯誤:
warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 10001 is not allowed to access /var/www/vhosts/domain.com/httpdocs/sites/default/files/images/user owned by uid 48 in /var/www/vhosts/domain.com/httpdocs/includes/file.inc on line 579.
我嘗試將 httpd.conf 中的 apache 組更改為 apache:psacln,psacln 是所有 Web 使用者的預設組,但這沒有幫助。
現在的情況是:
- …./files/images/ = 777 和 chown = ftplogin:psacln
- …./files/images/user = 775 和 chown = apache:psacln
- …./files/tmp = 777 和 chown = ftplogin:psacln
所以顯然 uid 40 和 10001 都有權寫入所涉及的 3 個目錄中的任何一個,但仍然不能。
我在這裡錯過了什麼嗎?任何人都可以幫忙嗎?
編輯
解決方案只是將域/子域設置為在 CGI 模式下使用 apache,而不是直接開箱即用模式。
謝謝!
您使用的是哪個版本的 Plesk?也許您可以更改站點以使用 PHP-CGI 作為站點,因此,任何 PHP 腳本都將以 FTP 使用者身份執行。然後,確保 httpdocs 層次結構中的所有文件都歸 FTP 使用者所有。也許這會有所幫助?
我對 Drupal 也有這個問題。
我通過禁用php的安全模式解決了這個問題。這可以通過 Plesk 或通過手動編輯您正在執行 drupal 的域的 conf 目錄中的 httpd.include 來完成,然後執行apache2ctl graceful。