1

私はGoogleアプリエンジンの「ユーザーサービスの使用」のステップバイステップガイドに従っていますが、アプリサーバーをローカルで実行した後

C:\Users\xxx>dev_appserver.py --php_exectuable_path="C:\Users\xxx\Desktop\php54\php-cgi.exe" C:\Users\xxx\Desktop\FirstPhpPrj\

以下のエラーがポップアップします。

Warning:  file_get_contents(): php_network_getaddresses: getaddrinfo failed:
 No such host is known.  in <b>C:\Users\xxx\Desktop\google_appengine\php\sdk\
google\appengine\runtime\RemoteApiProxy.php</b> on line 92

Warning:

    file_get_contents(http://localhost:51089)

: failed to open stream:
 php_network_getaddresses: getaddrinfo failed: No such host is known.  in C
:\Users\xxx\Desktop\google_appengine\php\sdk\google\appengine\runtime\RemoteApiP
roxy.php on line 92

Fatal error:  Uncaught exception 'google\net\ProtocolBufferDecodeError' 
with message 'Not initialized: login_url' in C:\Users\xxx\Desktop\google_appengin
e\php\sdk\google\appengine\runtime\proto\ProtocolMessage.php:121

Stack trace:

    #0 C:\Users\xxx\Desktop\google_appengine\php\sdk\google\appengine\runtime\proto\
    ProtocolMessage.php(88): google\net\ProtocolMessage-&gt;mergeFromString('')


    #1 C:\Users\xxx\Desktop\google_appengine\php\sdk\google\appengine\runtime\Remote
    ApiProxy.php(109): google\net\ProtocolMessage-&gt;parseFromString('')


    #2 C:\Users\xxx\Desktop\google_appengine\php\sdk\google\appengine\runtime\ApiProxy.php(42): google\appengine\runtime\RemoteApiProxy-&gt;makeSyncCall('user', 'CreateLoginURL', Object(google\appengine\CreateLoginURLRequest), Object(google\app
    engine\CreateLoginURLResponse), NULL)


    #3 C:\Users\xxx\Desktop\google_appengine\php\sdk\google\appengine\api
    \users\UserService.php(69): google\appengine\runtime\ApiProxy::makeSyncCall('user', 'CreateLoginURL', Object(google\appengine\CreateLoginURLRequest), Object(google in C
    :\Users\xxx\Desktop\google_appengine\php\sdk\google\appengine\runtime\proto\ProtocolMessage.php on line 121

ログを参照したところ、2 つの警告と 1 つの致命的なエラーがあります。しかし、php sdk のコーディングを調べた後ではありませんが、「mergeFromString」での空の文字列入力によって引き起こされるこの致命的なエラーは、実際には「」の警告によって引き起こされることに気付きました。

file_get_contents(http://localhost:51089)

そのようなホストは認識されていません」という理由は、RemoteApiProxy.php で CreateLoginURLResponse 関数が使用されているためです。

$serialized_remote_respone = file_get_contents(
'http://localhost:' . $this->apiPort, false, $context);

serialized_remote_response が空の結果を取得すると、次の行のコマンドに影響します。

$remote_response->parseFromString($serialized_remote_respone);

この場合、私自身のコードは、Google のサンプル コードとまったく同じであるため、実際には無関係です: here .

Google App Engine が API サーバーを

http://localhost:51089

まだ認識されていません!このホストを固定しようとしましたが、ウィンドウもエラーをスローしました!

4

0 に答える 0