konnte ich meine Google Cloud Storage mit der Befehlszeile unten montieren:Ausgeführt PHP-Skript kann nicht GCS Zugriff Mounted Drive auf GCE
gcsfuse -o allow_other -file-mode=660 -dir-mode=770 --uid=<uid> --gid=<gid> testbucket /path/to/domain/folder
Die Gruppe der Benutzer Apache enthält. Apache kann in das bereitgestelltes Laufwerk schreiben, wie so:
sudo -u apache echo 'Some Test Text' > /path/to/domain/folder/hello.txt
hello.txt auf dem heißen Stein erscheint wie erwartet. Allerdings, wenn ich die unten PHP-Skript ausführen bekomme ich einen Fehler:
<?php file_put_contents('/path/to/domain/folder/hello.txt', 'Some Test Text');
PHP-Fehler: failed to open stream: Permission verweigert
echo exec('whoami');
Returns Apache
ich dies angenommen ist eine allgemeine Verwendung für die Montage mit GCSFUSE oder etwas ähnliches, aber ich bin anscheinend der einzige im Internet mit diesem Problem. Ich weiß nicht, ob es ein Problem mit der Art und Weise, wie ich es gemountet habe, oder der Dienstsicherheit von httpd ist.
Hier sind viele bewegliche Teile. Können Sie das Problem ohne PHP oder sogar Apache reproduzieren? Das würde sehr helfen. Wenn Sie dies nicht tun, können Sie vielleicht 'strace' verwenden, um genau zu sehen, welche Systemaufrufe PHP scheitert. – jacobsa