Phing无法使用MAMP PHP for CLI在OS X上写日志 - 如何修复其权限?

时间:2014-01-22 10:13:02

标签: php mamp osx-mavericks phing

我做了什么:

执行$ ./vendor/bin/phing后 - 我收到错误

Phing ERROR:

  

[phing] FileSystem :: chown()FAILED。无法chown /Users/nomad/Projects/BuildingWithPhing/logs/application.log。用户www-data。

我的期望:

我希望Phing能够写入自己的日志文件

设置

我安装了Phing with Composer

"require": {
    "phing/phing": "2.5.0"
}

我将我的环境设置为使用MAMP PHP版本5.5.3 for php cli

我正在使用macintosh OS X Mavericks

问题: 如何修复Phing权限? 我应该让www-data成员拥有root权限,如果是,如何?

更新1

我在下面设置了构建目标(由gafreax建议),但它仍然失败:

  

[phing] FileSystem :: chown()FAILED。无法chown /Users/nomad/Projects/BuildingWithPhing/logs/application.log。用户www-data。

<target name="permissions">
    <echo msg="Set up permissions..." />

    <exec command="cd ../" dir="${project.basedir}"/>
    <exec command="chown -vR developer:www-data ./" />
    <exec command="find -type d -exec chmod 775 {} +" />
    <exec command="find -type f -exec chmod 664 {} +" />

</target>

更新2

我尝试编辑sudoers文件(由gafreax建议),但它不断给出语法错误,并且它是修复的任务。

如果您破坏了sudoers文件 - 将其替换为备份并运行“磁盘工具”中的“修复权限”。这让你重回正轨。

所以我仍然被卡住了。

1 个答案:

答案 0 :(得分:0)

快速而肮脏的解决方案:与您的用户一起

chgrp -R www-data /Users/nomad/Projects/BuildingWithPhing/logs
chmod g+rw /Users/nomad/Projects/BuildingWithPhing/logs

您应该为www-data用户提供chown的功能。所以编辑/ etc / sudoers并添加这一行

Runas_Alias  APACHE_USERS= www-data
www-data     ALL = (APACHE_USERS): /bin/chmod, /bin/chown

最好是与开发者用户一起运行phing,然后运行到此(也在phing任务中)

cd /Users/nomad/Projects/
chown -vR developer:www-data ./
find -type d -exec chmod 775 {} +
find -type f -exec chmod 664 {} +