PHP说目录是可写的,但不能创建目录

PHP说目录是可写的,但不能创建目录,php,apache,directory,filesystems,Php,Apache,Directory,Filesystems,我试图在文件目录下创建一个名为“sys”的目录 我正在测试这个特定位置是否可写。PHP说是的,但是当我尝试使用mkdir()函数时,并没有创建目录 这是什么原因造成的 <?php mkdir("location/files/sys"); $iswritable = is_writable("location/files"); if(!$iswritable) { echo "Apache cannot write to this directory"; } else if($i

我试图在文件目录下创建一个名为“sys”的目录

我正在测试这个特定位置是否可写。PHP说是的,但是当我尝试使用mkdir()函数时,并没有创建目录

这是什么原因造成的

<?php

mkdir("location/files/sys");

$iswritable = is_writable("location/files");

if(!$iswritable) {

echo "Apache cannot write to this directory";

}

else if($iswritable){
echo "Apache can write to this directory";
}
?>

也许这对你有帮助

<?php
    $created = mkdir('location/files/sys');
    if ($created === true) {
        echo 'success';
    } else {
        echo 'cant create dir';
    }

运行php脚本时,它会继承Apache用户权限。在这种情况下,您应该为组/用户添加“写入”权限

用户/组根据您的操作系统/发行版而变化

在linux中(使用www数据)


这是CLI还是SAPI?如果是SAPI脚本,它将继承Web服务器用户权限,因此如果您将目录所有权更改为Web服务器的用户(即apache、apache2、httpd、www数据等),您的问题可能会得到解决。
sudo chown -R youruser:www-data location/files/
sudo chmod -R g+s location/files/