php セッションが値を渡せない問題の解決策: 1. サーバーのパラメーター設定を確認します; 2. 設定ファイル php.ini の「session.use_trans_sid」の値を 1 に変更します; 3. 「var /tmp」フォルダーが書き込みおよび変更できることを確認します。
#この記事の動作環境: Windows7 システム、PHP7.1、Dell G3 コンピューター。
PHP セッションが値を渡せない場合はどうすればよいですか?
PHP セッションが失敗し、セッションが渡されない場合の解決策
PHP では、セッションを次のページに渡すことができません。通常、次の 2 つの状況が考えられます:
まず、php ファイル =phpinfo()?> を作成し、それをサーバーに渡して、サーバーのパラメーター構成を確認しましょう。
セッション セクションに移動し、session.use_trans_sid パラメーターが 0 に設定されていることを確認します。
このパラメータは、透過的な SID サポートを有効にするかどうか、つまりセッションが URL とともに渡されるかどうかを指定します。私の個人的な理解では、このパラメータを 0 に設定すると、URL ごとにセッションが開始されると考えています。このように、後続のページは前のページのセッションを追跡できなくなり、これを配信不能と呼びます。 2 つのページはサーバー側で 2 つのセッション ファイルを生成しますが、関連性はありません。 (これが正しいかどうかわかりません。アドバイスをお願いします。)
したがって、1 つの方法は、設定ファイル php.ini の session.use_trans_sid の値を 1 に変更することです。
もちろん、誰もが PHP の構成を変更する権限を持っているわけではないことはわかっています。では、間接的な解決策は何でしょうか?
2 つの例を使用して説明します。
ファイル 1 test1.php
//セッションがユーザー ID によって識別されることを示します
session_id(SID);
//セッションを開始します
session_start();
//セッションの名前を Havi に割り当てます
$_SESSION['name']="Havi";
//セッションを出力し、2 ページ目へのハイパーリンクを設定しますtest2.php
echo " ”.$_SESSION['name'].””;
?>
ファイル 2: test2.php
セッションがユーザー ID で識別されることを示します
session_id(SID);
//セッションの開始
session_start( );
//test1.phpで渡されたセッションを出力します。
echo "これは ".$_SESSION['name'];
?>
セッションを開くには、すべてのページに書き込む必要があります。 。そうしないと、依然として適切に動作しません。
したがって、重要な点は、session_start(); の前に session_id(SID); を追加して、ページが変換されるときにサーバーがユーザーがサーバー上に保存したセッション ファイル フォルダー内のセッションにより、送信の問題が解決されます。
ただし、複数のユーザーのセッションが 1 つの SID に書き込まれている場合、セッションの価値が発揮されないと報告する同僚もいます。したがって、この問題を解決する別の方法があります。session_id (SID) を追加する必要はありません。サーバーの php.ini に対する構成権限があることが前提です。
出力バッファリングを ON に変更します。実際は、明確ではない。
考えられる 2 番目の理由は、サーバーがセッション 、 または go を保存する フォルダーに対する読み取り権限がないことです。戻る phpinfo.php で、セッションが保存されているアドレスを確認します:
session.save_path: var/tmpしたがって、var/tmp フォルダーが書き込み可能かどうかを確認してください。 ファイル test3.php を作成してテストします:echo var_dump(is_writeable(ini_get(“session.save_path”)));
?> ;
$sessSavePath = dirname(__FILE__).'/session/';
if(is_writeable($sessSavePath) && is_readable($sessSavePath))
{session_save_path($sessSavePath);}
PHP ビデオ チュートリアル 」
以上がPHPセッションが値を渡せない場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。