多年来,我在我的 Macintosh 电脑上使用 MAMP 来运行包含 Apache、MySQL 和 PHP 的开发环境。当我将我的机器升级到 OS 10.7 时,我决定使用 OS 10 的原生 Apache 和 PHP,而不是再次下载 MAMP,主要是因为我在这里找到的说明。
从那时起,我只遇到了一个在使用 MAMP 时从未遇到过的问题:我的 CMS 无法识别某些文件和图像目录是可写的,即使它们的权限设置为 drwxr-xr-x,而当我在 Web 上部署它们时,相同的目录是可写的。
在我的本地机器上,我的 CMS 给出了以下错误消息:
图像目录不可写:/Users/me/Sites/example.com/images
文件目录路径不可写:/Users/me/Sites/example.com/files
临时目录路径不可写:/Users/me/Sites/example.com/cms/tmp
当我复制时完全相同的文件和目录在我的发布服务器上,它运行良好。当我使用 MAMP 时,它在我的开发机器上也运行良好。这些错误只有在我开始使用 OS 10.7 的原生 PHP 而不是 MAMP 后才会出现。由于它在我的发布服务器上运行良好,我宁愿通过更正我的 Apache 和 PHP 配置(如果可能)来修复这个问题,而不是更改文件权限。
是否有捷径可寻?
答案1
当您复制文件时,您可能是管理员。当 PHP 复制文件时,它可能正在使用 Apache 帐户。检查您的权限以确保 Apache 可以访问它无法写入的三个位置。
此外,如果 Apache 不是该文件夹的所有者,则当前权限 drwxr-xr-x 将不起作用,因为 Apache 不是所有者。