我正在尝试在 PHP 脚本中执行以下代码:
if (!is_dir($path . 'channel-partners/html/intro-letter/' . $name_url)) {
mkdir($path . 'channel-partners/html/intro-letter/' . $name_url, 0777, true);
}
$name_url
是运行时传入的字符串。当我尝试在 Mac 本地主机中执行此操作时,我获得了许可。我想知道问题是否不是我的脚本,而是 Apache 在我的 Mac 上的设置方式。我是否需要做一些特殊的事情来配置 Apache 以允许它创建文件和创建目录(此处未显示文件创建)?
最佳答案
运行 Apache 的用户或组需要拥有对父 DIR 的写入权限。 Mac 上 Apache 的默认安装在名为 _www
的用户和组下运行,因此
chgrp -R _www/the/parent/directory/here
应该可以完成这项工作。请参阅 man chmod
man chown
man chgrp
了解更多信息。
关于PHP mkdir 不工作——可能与 Mac 本地主机有关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840660/