我在ubuntu 10.04下有一个默认的joomla安装。我还更改了模板的index.php(具有读写权限的apache用户)的权限,这样我就可以从管理员屏幕更改index.php。一切都很好,直到这里。
但是现在当我从管理界面更改文件并保存文件时,它会更改文件权限并从文件中删除写入权限。它确实保存了更改。
现在删除了写入权限,当我尝试安装模板时,它给了我错误。所以我必须在index.php上手动设置apache用户的写权限并再次安装模板,然后运行良好。
有没有人知道joomla是否正在更改文件权限,并且知道如何解决这个问题。
谢谢, Tanmay
答案 0 :(得分:2)
您可能受umask设置的影响。将umask(0133);
放入配置文件中(或任何您想要的地方,只需确保它在制作文件之前)。
背景资料:
r
(读取)的值为4(二进制值:100
)w
(写)的值为2(二进制值:010
)x
(execute)的值为1(二进制值:001
)可以将这些权限授予所有者,组和其他所有人(“其他”)。
在PHP中创建文件时,默认情况下会向其添加666。从该数字开始,使用按位AND删除umask值。看起来你是0333
的umask。展示所发生事件的最佳方式是展示它:
PHP adds: rw-rw-rw- 0666 umask : -wx-wx-wx 0333 result : r--r--r-- 0444
如果您使用的是umask 0133:
PHP adds: rw-rw-rw- 0666 umask : --x-wx-wx 0133 result : rw-r--r-- 0644