PHP mkdir() 在 Mac OS X 上不起作用,即使文件夹权限为 777


PHP mkdir() won't work on Mac OS X even if folder permissions are 777

我遇到了一个奇怪的问题。我无法让mkdir()在我家下的目录中使用nginx + php70-fpm网络服务器在Mac OS X上工作。nginx和php-fpm是从MacPorts安装的。来自Linux世界,我尝试了以下方法:

编辑/opt/local/etc/nginx/nginx.conf并添加user myusername指令并重新加载nginx,但没有成功。服务器甚至无法启动。

通过get info菜单选项,授予我要写入的文件夹的权限everyone,但没有成功。

从控制台,chmod 777 文件夹,但没有成功。

我错过了什么吗?

法典:

    if(!file_exists( dirname( __FILE__ ) . $ds. $storeFolder . $ds . $_SESSION["lid"] . $ds)) {
        // No directory, so create it
        if(mkdir(dirname( __FILE__ ) . $ds. $storeFolder . $ds . $_SESSION["lid"] . $ds, 0777, true)) {
            die("Folder creation failed");
        };
    }

编辑:

作为观察,这样做后,您可能会遇到phpMyAdmin说应用了不正确的权限的问题。因此,有些人可能会发现,让每个人只对htdocs文件夹进行"读写"访问是很有用的,或者更好的是,项目的特定文件夹,而不是整个XAMPP文件夹。

这是解决方案:

  1. 打开应用程序文件夹

  2. 找到 XAMPP 文件夹

  3. 右键单击并获取信息(如上所述)

  4. 在弹出窗口中,找到"共享和权限"部分

  5. 单击"锁定"挂锁符号

  6. 输入管理员密码

  7. 更改"所有人"读取和写入权限

  8. 在获取信息窗口中,选择"齿轮"图标下拉菜单选项,然后选择"应用于包含的项目"。

    这也将调整所有子文件夹的权限。

  9. 重新锁定挂锁符号

  10. 关闭"显示信息"窗口。

任务已完成。现在,这将允许您创建目录。

我遇到了同样的问题。我不确定您的问题是否与我的问题相同,但我将根文件夹的权限更改为 777,然后一切正常。