PHP表示目录是可写的,但无法创建目录

时间:2014-01-15 17:40:18

标签: php apache directory filesystems

我正在尝试在files目录下创建一个名为“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";
}
?>

2 个答案:

答案 0 :(得分:0)

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

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

在linux中(使用www-data)

sudo chown -R youruser:www-data location/files/
sudo chmod -R g+s location/files/

答案 1 :(得分:-1)

也许这可以帮到你

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