CentOS PHP UMASK 設定

在開發 PHP 程式時,習慣將 Apache 或 PHP-FPM 的群組,與使用者共用

但二者預設新增檔案的權限,經常是 755

也就是說,群組沒有權限異動檔案,在開發時較不方便

以下就是修改預設檔案權限方式。

 

umask() 用來做檔案權限的遮罩 (限制權限)

PHP 預設 umask 是 022,當建立檔案或資料夾權限給 777 時,最終的權限會是 777 – 022 = 755

如下 PHP 語句

chmod(“/FilePath/FileName”, 0777); // FileName 權限為 755

mkdir(“/Folder/”, 0777, true); // Folder 權限為 755

 

若要調整權限,以下有 3 個方式

1. Apache 可以更改預設 umask,修改後重啟 Restart Apache 才會生效,如下 Linux 指令

2.PHP 寫入檔案前,執行 umask(0)

3.PHP 寫入檔案後,使用 chmod()

 

PHP-FPM (NGINX)

修改檔案路徑:/lib/systemd/system/php-fpm.service

加上 UMASK 設定後,如下

重啟 php-fpm 服務

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *