如何修改Apache UMask?

Apache

1 前言

一个问题,一篇文章,一出故事。
笔者遇到运行于Apache账号的PHP创建文件时组没有写权限,为此我们尝试了许多方法都无法解决。
以下方法最为实在,即从代码声明umask。

2 最佳实践

2.1 普通的代码创建文件范例

vim /var/html/wwwroot/index.php

加入如下测试配置,

<?php
if ($fp = fopen(time() . '.txt', 'w')) {
          fwrite($fp, 'This is a simple test.');
            fclose($fp);
            echo "done";
} else {
          echo "error - cannot create file";
}
?>

2.2 声明umask创建文件范例

vim /var/html/wwwroot/index.php

加入如下测试配置,

<?php
umask(0007);
if ($fp = fopen(time() . '.txt', 'w')) {
          fwrite($fp, 'This is a simple test.');
            fclose($fp);
            echo "done";
} else {
          echo "error - cannot create file";
}
?>

参阅文档
======================
https://stackoverflow.com/questions/428416/setting-the-umask-of-the-apache-user
https://serverfault.com/questions/383734/how-do-i-set-default-umask-in-apache-on-debian

没有评论

发表回复

Apache
如何配置Apache httpd的php fcgi?

1 前言 一个问题,一篇文章,一出故事。 笔者今天尝试Apache httpd使用fcgi的方式与p …

Apache
如何修复unknown type name ‘my_bool错误?

1 前言 一个问题,一篇文章,一出故事。 笔者在比较新的操作系统(Oracle Linux Serv …

Apache
如何修复 ‘RSA_SSLV23_PADDING’ undeclared错误?

1 前言 一个问题,一篇文章,一出故事。 笔者在比较新的操作系统(Oracle Linux Serv …