2016-06-21 4 views
3

作業ではありません。それは、wordpressのためのGAEプラグインを使用しています。メディアライブラリはAppengineサーバー上で動作しますが、ローカルでは動作しません。ハードリンクされたリンクがない限り、ほとんどの画像で同じです。 dev_appserver.py --php_executable_path=/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/php55/php-cgi .Google App Engineが、私はGoogleのAppEngineの上のWordpressのサイトを実行していますローカル

http://<BUCKET_NAME>.storage.googleapis.com/image.png

私はこのような局部的に私のアプリを実行しています:私はGAEサーバ上でこのリンクが機能するよう

http://localhost:8080/_ah/gcs/<BUCKET_NAME>/image.png Failed to load resource: the server responded with a status of 404 (Not Found)

... 404エラーのトンを取得します

Googleのpythonスクリプトは、実際の実際のバケットへのリンクを正しく転送していないようです....任意のアイデア?

+1

これらのファイルは、ローカルサーバーにコピーされますか?私は、デベロッパー側がローカルコピーではなく、ウェブ上ですぐにそれらの資産にアクセスできると想定していました。 この質問/答えはあなたのいくつかを助けるかもしれない:http://stackoverflow.com/questions/29597338/how-do-i-enable-google-cloud-storage-on-my-local-development-server –

+0

は、設定しましたあなたのローカルenvの '--storage_path ='フラグパス? – Erevald

答えて

2

これは期待される動作です:

リンクhttp://<BUCKET_NAME>.storage.googleapis.com/image.pngは、生産リンクで、リクエストが本番サーバから提供されます。

リンクhttp://localhost:8080/_ah/gcs/<BUCKET_NAME>/image.pngはローカルリンクであり、devserverは実際には<BUCKET_NAME>/image.pngを含む必要があります。オブジェクトは本番環境にのみ保存され、ローカルマシン上でそのオブジェクトを検索しようとすると404になる可能性があります。

解決策として、ローカルのテストを運用クラウドストレージに対して実行するだけで、すべてのストレージアイテムをローカルに転送する(および同期を維持する)コストを節約することができます。転送とdev - timeよりも簡単な代替。

+0

私は説明のためにthxを参照してください。意味をなさない奇妙なことは、私はローカルenvで私たちのprod dbの正確なコピーを使用することです。私は、これらのリンクがappengine wpプラグインによって処理されると仮定します。そのURL変換がどこで行われたか知っていますか? –

+0

ああ、私は、これはwordpressの文脈にあると思う。私はそれを逃した。私の最善のアドバイスは、WordPressのコードベースでgrepを実行し、_ah/gcsがどこにあっても表示されるようにすることです: 'grep -R _ah/gcs '。また、そのようなURLを扱うPHP SDKの場所についても見ていきます。例えば、 'CloudStorageTools.php'は、このコードを含むクラスメソッド' CloudStorageTools.getPublicUrlを() '有する:'場合(自己:: isDevelServer()){... $パス=はsprintf( '%S /%S% s '、self :: LOCAL_ENDPOINT、$ bucket、$ object); ... – Nick

+0

^^^そのコードは、ローカルのGCSを同期するか、テスト実行ごとに新しく値を入力することを想定しているようですが、そうではありません。写真の条件分岐が毎回プロダクションURLを使用するようにする猿のパッチ適用に間違いはありませんが、[Public Issue Tracker](https://code.google.com)でこのすべての情報を引き上げることもできます。 .COM/P /グーグル、クラウド-SDK /問題/リスト)機能のリクエスト、と我々は '--gcs使用 - 生産 - のような最高のフォワードパス、devserverを開始するかもしれないコマンドラインフラグ、何かが何を見ることができますURLの専用= true'に – Nick

関連する問題