【发布时间】:2011-12-14 07:03:26
【问题描述】:
我有一个使用 appache 作为 Web 服务器的 Linux 服务器。在我的 PHP 脚本中,我正在使用 0777 模式创建目录。代码很简单,如下:
mkdir($path,0777)
当我运行此脚本并转到我的服务器文件管理器时,该文件夹在那里,但分配给该文件夹的权限是 0755。我不知道为什么会这样!创建文件夹时,用户列中包含 apache,但权限为 0755。
【问题讨论】:
我有一个使用 appache 作为 Web 服务器的 Linux 服务器。在我的 PHP 脚本中,我正在使用 0777 模式创建目录。代码很简单,如下:
mkdir($path,0777)
当我运行此脚本并转到我的服务器文件管理器时,该文件夹在那里,但分配给该文件夹的权限是 0755。我不知道为什么会这样!创建文件夹时,用户列中包含 apache,但权限为 0755。
【问题讨论】:
可能是你的 umask:
<?php
$old = umask(0);
mkdir($dir,0777);
mask($old);
?>
【讨论】:
Apache 可能无权更改此设置。你能做的是。确保 apache 与当前文件组在同一组中运行。然后 apache 将能够对该文件进行更改。您可以在此 apache 配置中更改您的 apache 组。或者最简单的方法就是把整个项目用户改成apache用户。然后 apache 就可以做出它想要的改变了。
从您的服务器转到文件并输入 ls -al 并查看用户和组
【讨论】:
你应该试试umask
$old = umask(0);
mkdir($path,0777);
umask($old);
【讨论】:
你可以试试:
chmod ( string $filename , int $mode )
看看这是否可以解决权限问题。
【讨论】: