2017-12-13 28 views
0

Googleの計算エンジンでgsutilコマンドを実行しようとしていますが、結果は得られません。計算エンジンのPHPからexec()から呼び出されたときにgsutilが機能しない

SSH経由でgsutilを実行しても正常に動作していますが、PHP exec()からは何も起こりません。

exec()からの返品はございません。

アイデア?

+0

私たちのPHPはnginxユーザーで動作していますが、gsutilはrootだけで動作するようですが、それを変更する方法はありますか? – ArmeniaH

答えて

0

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/...のいずれか)になります。

+0

返信いただきありがとうございます、私たちは今すぐそれを試みます。 私たちはアプリエンジンの柔軟な環境で同じことを試みましたが、まだ動作しませんでした。ユーザーや設定にアクセスすることができません。まずコンピューティングエンジンを試してみましょう。 – ArmeniaH

+0

私たちはPATHとHOMEをエクスポートしなければなりませんでした。その後、gsutilは計算エンジンで作業を開始しました!今ではアプリエンジンでも同じことを試していますが、まだ運がありません。 – ArmeniaH

+0

アプリケーションエンジンのインスタンスにSSHすると、gsutilがありますが、コードから実行すると、正しいパスが設定されているので、「permission denied」と表示されます。 – ArmeniaH

関連する問題