我的cakephp应用程序依赖于现有且可写的app/webroot/img/product_images
目录。
现在我确保该文件夹存在一个.empty
文件,因此 git 将跟踪空目录,但我必须记住在将我的存储库克隆到新服务器时手动 chown/chmod 文件夹。
在 CakePHP 或纯 PHP 中有什么方法可以自动检查和设置此文件夹的权限吗?
如"Git 无法解释地更改单个文件的权限"中所述,如果:
- 你设置 git config --global core.sharedRepository true
- 具有与所需写入兼容的默认
umask
(在配置文件中设置)(如 775 的0002
)
您应该对要克隆的元素获得正确的权限。
CakePHP 没有任何内置功能,尽管我想您可以在bootstrap.php
中编写一些代码来检查并直接创建,但这并不能解决您的权限问题。
但实际上你应该研究的是自动化部署工具,如Capistrano或Fabric。
基本上,它们允许您在远程服务器上执行命令以帮助您部署应用程序。您可以指定他们执行的命令之一是检查 app/webroot/img/product_images
目录的存在和文件权限。