如何解决post-install-cmd 在 Google App Engine 柔性环境中不起作用
我正在尝试通过 Composer 的 post-install-cmd
更新文件权限,但在我看来它没有正常工作虽然在日志中它说命令执行正确但是当我登录到 VM 时它仍然显示不正确许可。
这就是我在/composer.json
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example','.env');\""
],"post-install-cmd": [
"chmod -R 777 public\/external_package\/webmail\/data"
]
}
这就是我的 /app.yaml
runtime: php
env: flex
service: webservice-dev
runtime_config:
document_root: public
whitelist_functions: phpversion,phpinfo
env_variables:
# Environment variables.
APP_NAME: 'Laravel App (Dev)'
APP_ENV: dev
# ...
# ...
beta_settings:
cloud_sql_instances: ""
automatic_scaling:
min_num_instances: 2
max_num_instances: 10
cpu_utilization:
target_utilization: 0.50
resources:
cpu: 1
memory_gb: 4
这是 Cloud Build 的屏幕截图
这就是我在虚拟机中看到的
dr-xr-x--- 1 root www-data 4096 Jan 28 19:18 data
我希望此目录权限为 777
而不是 550
解决方法
这是因为 App Engine 总是锁定文档根路径,因此权限被还原。
将此添加到您的 app.yaml
runtime_config:
skip_lockdown_document_root: true
选项 skip_lockdown_document_root: true 将阻止更改权限。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。