PHP mkdir()权限

PHP mkdir()权限,php,apache,mkdir,Php,Apache,Mkdir,我有一台Linux服务器,其中appache作为web服务器。在我的PHP脚本中,我使用0777模式创建目录。代码非常简单,如下所示: mkdir($path,0777) 当我运行此脚本并转到我的服务器文件管理器时,文件夹在那里,但分配给该文件夹的权限是0755。我不明白为什么会发生这种事!!创建文件夹时,用户列中有apache,但权限为0755。您可以尝试: chmod ( string $filename , int $mode ) 查看是否可以解决权限问题。您应该尝试使用 Apache

我有一台Linux服务器,其中appache作为web服务器。在我的PHP脚本中,我使用
0777
模式创建目录。代码非常简单,如下所示:

mkdir($path,0777)
当我运行此脚本并转到我的服务器文件管理器时,文件夹在那里,但分配给该文件夹的权限是0755。我不明白为什么会发生这种事!!创建文件夹时,用户列中有apache,但权限为0755。

您可以尝试:

chmod ( string $filename , int $mode )
查看是否可以解决权限问题。

您应该尝试使用


Apache可能没有更改此内容的权限。你能做的就是。确保apache与当前文件组在同一组中运行。然后apache将能够对该文件进行更改。您可以在此apache配置中更改您的apache组。或者最简单的方法是将整个项目用户更改为apache用户。然后apache可以进行它想要的w.e更改

从服务器转到文件并键入ls-al,然后查看用户和组

可能是您的umask:

<?php
$old = umask(0);
mkdir($dir,0777);
mask($old);
?>


谢谢!解决了问题…但仍然很困惑为什么我的脚本nt能够创建777文件夹权限?@Salmanmahmood:这在Linux中应该理解,只是一个供参考的链接。通常,umask是022,这意味着忽略任何组或其他写入权限。因此,如果请求的权限是0777,那么授予的权限是0777-022=0755。
<?php
$old = umask(0);
mkdir($dir,0777);
mask($old);
?>