在部署 CakePHP 应用程序时设置文件夹权限


set folder permissions when deploying cakephp app

我的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 目录的存在和文件权限。