我可以使用下面的命令行挂载我的 Google Cloud Storage:
gcsfuse -o allow_other -file-mode=660 -dir-mode=770 --uid=<uid> --gid=<gid> testbucket /path/to/domain/folder
该组包括用户apache。Apache 能够像这样写入已安装的驱动器:
sudo -u apache echo 'Some Test Text' > /path/to/domain/folder/hello.txt
hello.txt按预期出现在存储桶中。但是,当我执行以下 php 脚本时,出现错误:
<?php file_put_contents('/path/to/domain/folder/hello.txt', 'Some Test Text');
PHP错误:无法打开流:权限被拒绝
echo exec('whoami');
返回阿帕奇
我认为这是使用 gcsfuse 或类似的东西进行安装的常见用途,但我似乎是互联网上唯一遇到此问题的人。我不知道这是我安装它的方式或httpd的服务安全性的问题。