如何解决在Mac OS上通过PHP访问网络卷
我有一个简单的Web应用程序,它在我的Mac上本地运行,带有PHP 7和Apache。
这个网络应用在我的一些网络项目中执行这种命令(使用exec()/ system()命令):
网络卷/文件夹上的项目
sass /Volumes/htdocs/MYPROJECT1/scss/test.scss /Volumes/htdocs/MYPROJECT1/css/test.min.css -s compressed --no-source-map && postcss /Volumes/htdocs/MYPROJECT1/css/test.min.css --replace --use autoprefixer --no-map
Mac OS Web服务器上的项目
sass /Library/WebServer/Documents/MYPROJECT2/scss/test.scss /Library/WebServer/Documents/MYPROJECT2/css/test.min.css -s compressed --no-source-map && postcss /Library/WebServer/Documents/MYPROJECT2/css/test.min.css --replace --use autoprefixer --no-map
简而言之:在我的网络项目中编译某些SCSS文件。
其中一些项目在Mac OS的本地网络服务器上(如第二个示例),并且命令已正确执行(编译了scss文件)。其他文件位于Windows电脑共享的Mac上看起来完美的网络卷/文件夹中。 我无法使用php编译位于网络文件夹中的项目。
通过执行第一个命令,从终端手动执行该命令即可正确执行。因此,我很确定这是apache-php / _www用户的权限问题。
从php我运行以下命令:
whoami -> _www
groups -> _www everyone localaccounts _lpoperator com.apple.sharepoint.group.1
我已经尝试过在stackoverflow上找到各种解决方案,但是都没有解决问题。 如何允许用户_www访问网络卷?
我相信用户_www和终端用户都必须具有此权限。
“卷”文件夹的当前权限状态(我对htdocs文件夹感兴趣)
UPDATE1
确认为权限问题。
php error_log
Error reading ../../../../../Volumes/htdocs/MYPROJECT1/scss/test.scss: permission denied.
更新2
我尝试在 httpd.conf 中更改用户,但是权限问题仍然存在
#User _www
#Group _www
User dev
Group staff
更新3
按照here描述的命令,我创建了一个名为 TestSCSS 的新用户组,其中有2个用户: dev (我的mac用户)和 _www 。现在,我尝试更改对 / Volumes / htdocs 文件夹(Mac所见的Windows共享的文件夹)的权限,尝试添加新的 TestSCSS 组。但是输入组名后,不会在此处插入组名。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。