Googleの計算エンジンでgsutilコマンドを実行しようとしていますが、結果は得られません。計算エンジンのPHPからexec()から呼び出されたときにgsutilが機能しない
SSH経由でgsutilを実行しても正常に動作していますが、PHP exec()
からは何も起こりません。
exec()
からの返品はございません。
アイデア?
Googleの計算エンジンでgsutilコマンドを実行しようとしていますが、結果は得られません。計算エンジンのPHPからexec()から呼び出されたときにgsutilが機能しない
SSH経由でgsutilを実行しても正常に動作していますが、PHP exec()
からは何も起こりません。
exec()
からの返品はございません。
アイデア?
exec()
はstderrをキャプチャしていないため、出力が表示されないと思います。
また、https://github.com/GoogleCloudPlatform/gsutil/issues/419に記載されているのと同様の問題が発生していると思います。環境変数BOTO_CONFIG
を設定しないと、gsutilは起動したユーザーのホームディレクトリにboto設定ファイル(資格情報を含む)を検索します。 nginx
ユーザは通常、ホームディレクトリを持たないため、botoファイルを別の場所に保存し、そのファイルのパスにBOTO_CONFIG
を設定する必要があります。 gsutilをroot
に設定した場合、そのbotoファイルはルートのホームディレクトリ(Cloud SDKの一部としてインストールされている場合は~/.boto
または~/.config/gcloud/legacy_credentials/...
のいずれか)になります。
返信いただきありがとうございます、私たちは今すぐそれを試みます。 私たちはアプリエンジンの柔軟な環境で同じことを試みましたが、まだ動作しませんでした。ユーザーや設定にアクセスすることができません。まずコンピューティングエンジンを試してみましょう。 – ArmeniaH
私たちはPATHとHOMEをエクスポートしなければなりませんでした。その後、gsutilは計算エンジンで作業を開始しました!今ではアプリエンジンでも同じことを試していますが、まだ運がありません。 – ArmeniaH
アプリケーションエンジンのインスタンスにSSHすると、gsutilがありますが、コードから実行すると、正しいパスが設定されているので、「permission denied」と表示されます。 – ArmeniaH
私たちのPHPはnginxユーザーで動作していますが、gsutilはrootだけで動作するようですが、それを変更する方法はありますか? – ArmeniaH