php – capistrano-env文件权限

前端之家收集整理的这篇文章主要介绍了php – capistrano-env文件权限前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用gem capistrano-env并发现了一个小问题.我的部署脚本是:
Capistrano::Env.use do |env|
  env.add 'DB_DSN','MysqL:host=localhost;dbname=dbname'
  env.add 'DB_USER','user'
  env.add 'DB_PASS','pass'
end

代码在部署后在服务器上创建.env文件.但! .env文件权限是640,我的PHP脚本无法读取它.我可以在每次部署后运行chmod命令,但可能存在其他不错的解决方案?

编辑

我创建了pull request并在此gem中添加了新的filemode选项.那么,现在的解决方案是:

Capistrano::Env.use do |env|
  env.add 'DB_DSN','pass'
  env.filemode = 0644
end
你有几个选择可以让这更好.

>它看起来不像capistrano-env支持自定义权限设置,但也许可以添加功能Open an issue at GitHub,也许项目维护者会添加它.
>您可以修改deploy.rb以便为您运行必要的chmod命令.这样,您不必在每次部署后手动运行chmod.

像这样的东西:

# In deploy.rb
after "capenv:copy","capenv:chmod" do
  on roles(:all) do
    execute "chmod","a+r","#{release_path}/#{Capistrano::Env.filename}"
  end
end

猜你在找的PHP相关文章