UWPアプリケーション用にPHPを使用してポストリダイレクト取得インターフェイスを実装しようとしています。私の実際のPHPインターフェイスは以下の通りです。このPHPスクリプトにWebブラウザ(Chrome)でアクセスすると、ハッシュされた変数が作成され、$ _SESSIONに格納されます。私はこれが、私が書いた別のスクリプトを介して動作していることを確認することができます。これは、保存されたすべてのセッション変数を出力します。PHPセッション変数が常時格納されていない
私のUWPアプリケーションでこの同じスクリプトにアクセスしようとすると、ハッシュ変数は$ _SESSIONに格納されません。私は何とか私のUWPコードを傷つけたと思って、私はネットワークの伝送をwiresharked、私はハッシュされた変数が303リダイレクトで返されていることがわかりますが、同じ変数は$ _SESSIONに格納されていません。このスクリプトは、私のUWPアプリケーションを介してアクセスされたときに変数を格納していないようです。それはなぜでしょうか?以下は
<?php
include_once '/var/www/errLogger.php';
include_once '/var/www/hasher.php';
include_once '/var/www/jsonConverter.php';
//Get JSON data
try
{
$jsonArray = jsonToArray($_SERVER);
} catch (Exception $ex)
{
echo logger((string)($ex->getLine()), $ex->getFile(), $ex->getMessage());
}
//Save JSON to session
session_start();
$hash_id = createRedirectHash();
$_SESSION[$hash_id] = $jsonArray;
//Generate URL for this post request
$hashURL = "http://$_SERVER[HTTP_HOST]/php/redirectTest.php?hash=$hash_id";
//Reply with 303 redirect - 303 is used so GET request can pull requested data
header("HTTP/1.1 303 See Other");
header("Location: {$hashURL}");
?>
保存されたセッション変数を印刷し、私のスクリプトからいくつかのサンプル出力です....
Array (
[92ed11ad76704bf1e4fafcc8b4393d36f7f42dcdf0c1b28acd8c66bbdc545cd9] => test
[f4bdc2c305922e66790fae080587f54a169140f506734061ed4c23c285efa751] => test
[48d4979004aba405020ee5148dab8823ce450b4cb741953df598061178504398] =>)
UPDATE:さらに調査した後、私はセッションがあることを実現するために来ています特定のコンピュータのChromeを使用してPHPスクリプトにアクセスするときにのみ保存されます。別のコンピュータのFirefoxまたはChrome経由でスクリプトにアクセスすると、セッション変数が保存されません。私もsession_write_close()を追加しようとしました。私のスクリプトには、まだ行動の違いを見ていない...
私は "を/ tmp" に保存セッションにphp.iniファイルを変更しました。 php.iniファイルを切り替えるテストを行った結果、私はまだ同じ動作をしていることを確認することができ、 "/ tmp"にはWebブラウザ経由で作成されたセッションだけが表示されます。私のUWPアプリを通しての私の呼び出しは、まだセッションに保存されません。 – kubiej21