2011-10-21 45 views
3

我已经下载2.0.4 ......我不能得到通过的权限问题“不能创建缓存目录”的原因......PHP Symfony2的安装缓存的权限

我试过chmod 777 -R symfony - 到所有文件夹,仍不能创建缓存目录

我试过setfacl但它说无法识别的-m选项.... 我的系统不支持chmod +a

我做chown -R myuser:apache symfony - 仍然没有什么

我试过umask(0000)umask(0002)console.php/app_dev.php/app.php - 仍然没有

当我刷新页面http://localhost/symfony/web/app_dev.php,我得到一个SELinux的警告...这是造成东西吗?我不确定...所有的symfony内容都是可写的。

我不确定它是否是我......但是这让我发疯,也许我应该停止使用symfony2。

我使用的Fedora 13

回答

4

看来你需要的SELinux切换到允许性状态。你可以这样做,以根用户身份执行:

setenforce 0 
+0

工作 - 谢谢。 – OsakaHQ

0

PHP的umask可能没有效果时,默认的Apache umask是不同的。

最初我曾经使用setfact,但这增加了部署的开销。 对我来说,在Ubuntu服务器上工作的是:

  1. 设置默认的apache umask。 编辑/ etc/apache2的/ envvars中,并在文件的最后添加这一行:
umask 0002 

刷新apache服务

  1. 您的部署用户添加到www数据组,将www-data添加到您的部署用户组。
adduser www-data `whoami` 

adduser `whoami` www-data 

注销或重新启动服务器,这才会生效。

  1. 删除应用程序/缓存,应用/日志迪尔斯

  2. 尝试在浏览器中加载页面,请注意应用程序/缓存目录由www数据用户创建并拥有写组权限。尝试清除控制台中的缓存并确认没有发生错误。

  3. 删除应用程序/缓存,应用/日志迪尔斯

  4. 运行缓存:清楚,请注意应用程序/缓存目录是由用户创建的部署和用户有写组权限。尝试在浏览器中加载页面,并验证没有发生错误。

现在,您可以在所有后续项目中忘记此特定服务器上的缓存和日志权限。