Drupal
Drupal 安裝和權限
所以我真的被這個問題困住了。安裝過程抱怨 settings.php 和 sites/default/files/ 的寫入權限。但是,我暫時將這些文件移動到寫入/讀取(chmod 777)並將所有者/組更改為“apache”,如下所示。
-bash-4.1$ ls -hal total 28K drwxrwxrwx. 3 richard richard 4.0K Aug 23 15:03 . drwxr-xr-x. 4 richard richard 4.0K Aug 18 14:20 .. -rwxrwxrwx. 1 apache apache 9.3K Mar 23 16:34 default.settings.php drwxrwxrwx. 2 apache apache 4.0K Aug 23 15:03 files -rwxrwxrwx. 1 apache apache 0 Aug 23 15:03 settings.php
但是,安裝仍然抱怨寫權限。我遵循了 INSTALL.txt 的步驟一和二,但沒有運氣。
更新:
為了進一步探索這種情況,我使用以下程式碼創建了 sites/default/richard.php:
<?php error_reporting(E_ALL); ini_set('display_errors', '1'); mkdir('files'); print("<hr> User is "); passthru("whoami"); passthru("pwd"); ?>
從命令行執行(在使用者“richard”下),沒問題。該文件夾已創建,一切順利。從網上執行,我得到以下資訊:
警告:mkdir(): Permission denied in /var/www/html/sites/default/richard.php on line 9 使用者是 apache /var/www/html/sites/default
更新 2:
安全模式似乎已關閉…
-bash-4.1$ cat /etc/php.ini | grep safe | grep mode | grep -v \; safe_mode = Off safe_mode_gid = Off safe_mode_include_dir = safe_mode_exec_dir = safe_mode_allowed_env_vars = PHP_ safe_mode_protected_env_vars = LD_LIBRARY_PATH sql.safe_mode = Off
有幾件事需要考慮
- 關閉 selinux 或將其設置為許可模式
- 檢查讀/寫權限目錄的selinux上下文
- 清除瀏覽器的記憶體,然後重試。
- 重新啟動 apache 並重試。
- 檢查目錄是否有任何磁碟配額並超過限制。
SELinux 有點太高了。
我暫時設置為允許使用
sudo echo 0 >/selinux/enforce
設置好後會恢復檢查。