2

PHP アプリケーションを Google App Engine インフラストラクチャに移行しようとしていますが、セッションを処理する同様のコードがあります。

 <html>
     <head>
         <link type="text/css" rel="stylesheet" href="/stylesheets/main.css" />
     </head>
     <body>
             <?php
                 session_start();
             ?>
     </body>
 </html>

GAE SDK で実行すると、次のエラーが発生し、セッションは以前に設定したレコードを追跡しません。

警告: file_get_contents(): php_network_getaddresses: getaddrinfo に失敗しました: そのようなホストは不明です。C:\Users\user\Downloads\google_appengine_1.8.1\google_appengine\php\sdk\google\appengine\runtime\RemoteApiProxy.php の 92 行目

警告: file_get_contents(http://localhost:63143): ストリームを開けませんでした: php_network_getaddresses: getaddrinfo に失敗しました: そのようなホストは不明です。C:\Users\user\Downloads\google_appengine_1.8.1\google_appengine\php\sdk\google\appengine\runtime\RemoteApiProxy.php の 92 行目

Notice: C:\Users\user\Downloads\google_appengine_1.8.1\google_appengine\php\sdk\google\appengine\runtime\Memcache.php 行 564 の未定義のオフセット: 0

php.iniファイルに次の値を設定しました。

session.save_handler = user
session.save_path = Memcache

セッションを使用するために設定する必要がある構成が不足しているかどうかは誰にもわかりませんか?

編集:

プロジェクト フォルダーからファイルを削除しましたphp.iniが、いくつかのエラーが引き続き発生します。前回表示されなかった 2 つの異なる警告があります。

警告: file_get_contents(): php_network_getaddresses: getaddrinfo に失敗しました: そのようなホストは不明です。C:\Users\user\Downloads\google_appengine_1.8.1\google_appengine\php\sdk\google\appengine\runtime\RemoteApiProxy.php の 92 行目

警告: file_get_contents(http://localhost:50074): ストリームを開けませんでした: php_network_getaddresses: getaddrinfo に失敗しました: そのようなホストは不明です。C:\Users\user\Downloads\google_appengine_1.8.1\google_appengine\php\sdk\google\appengine\runtime\RemoteApiProxy.php の 92 行目

警告: session_start(): セッション cookie を送信できません - C:\Users\user\Downloads\ の (C:\Users\user\Downloads\google_appengine_1.8.1\helloworld\helloworld.php:7 で出力が開始された) によって既に送信されたヘッダーgoogle_appengine_1.8.1\helloworld\helloworld.php 8行目

警告: session_start(): セッション キャッシュ リミッターを送信できません - ヘッダーは既に送信されています (C:\Users\user\Downloads\ の C:\Users\user\Downloads\google_appengine_1.8.1\helloworld\helloworld.php:7 で出力が開始されました) google_appengine_1.8.1\helloworld\helloworld.php 8行目

Windows 7 Enterprise x64、php-5.4.13-Win32-VC9-x86、および google_appengine_1.8.1 で実行しています。

4

5 に答える 5

1

誰かがこのページに再びアクセスしたことがあるが、ここでの解決策が機能せず、「ヘッダーは既に送信されました」というエラーが表示される場合:

BOM なしの UTF-8 として保存してみてください。これは通常、空白エラーであり、BOM は通常、何かが起こる前に出力される文字として読み取られます。

于 2015-02-23T11:25:15.023 に答える
0

Google App Engine を使用してアプリケーションをデプロイするときに、php session_start() 関数にも問題がありました。次の警告がありました:
警告: session_start(): セッション Cookie を送信できません - ヘッダーは既に送信されています...

警告: session_start(): セッション キャッシュ リミッターを送信できません - ヘッダーは既に送信されています...

Google App Engine が自動的にセッションを作成するため、自分で作成する必要がないことをようやく理解しました。

先に進んで、セッション変数に必要なものをすべて保持し、別の場所で取得してみてください。エラーは発生しません。

ここで覚えておくべきことは、session_start() を使用して自分でセッションを開始する必要はないということです。セッションは Google App Engine によって既に開始されているので、それを使用するだけです。

于 2015-11-03T10:33:32.220 に答える