我有一个带有appache的Linux服务器作为Web服务器。在我的PHP脚本中,我使用0777
模式创建目录。代码非常简单如下:
mkdir($path,0777)
当我运行此脚本并转到我的服务器文件管理器时,文件夹就在那里,但分配给该文件夹的权限是0755.我无法弄清楚为什么会发生这种情况!创建文件夹时,用户列中包含apache,但权限为0755。
答案 0 :(得分:22)
您应该尝试使用umask
$old = umask(0);
mkdir($path,0777);
umask($old);
答案 1 :(得分:4)
您可以尝试:
chmod ( string $filename , int $mode )
看看是否可以解决权限问题。
答案 2 :(得分:0)
Apache可能没有权限更改此权限。你能做的是。确保apache与当前文件组在同一组中运行。然后apache将能够对该文件进行更改。您可以在此apache配置中更改您的apache组。或者最简单的方法是将整个项目用户更改为apache用户。然后apache可以根据需要进行更改。
从您的服务器转到该文件并输入ls -al并查看用户和组
答案 3 :(得分:0)
可能是你的umask:
<?php
$old = umask(0);
mkdir($dir,0777);
mask($old);
?>