1、runuser 方法
比如:要刷新Magento的静态文件,如果用管理员账号,可能会因为权限问题导致页面无法访问。
可以创建一个[.upstatic.sh] 注意文件名前面的 [.] 号 是为了误执行而隐藏文件。内容如下
bin/magento setup:static-content:deploy -f
bin/magento setup:static-content:deploy zh_Hans_CN it_IT -f
curl -XPUT -H "Content-Type: application/json" http://127.0.0.1:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
bin/magento indexer:reindex
bin/magento cache:clean
bin/magento cache:flush
bin/magento maintenance:disable
再创建一个[upstatic.sh]用来调用,内容如下
runuser -l user -c 'cd /www/wwwroot&&./.upstatic.sh'
user 换成你需要的用户。必须要指定全路径,所以这里用了cd先进入执行文件的目录。
看到这个提示记得给文件加运行权限
chmod u+x upstatic.sh .upstatic.sh
2、su 方法
创建composer-cli.sh 文件,内容如下
#!/usr/bin/env bash
# 用指定的用户名来运行composer
su user -s /bin/bash -c "/usr/bin/composer $*"