2

私はしばらくphpを使用していませんでしたが、セッション変数が保存されていないことを確認するためだけに、プロジェクトの1つに戻ってきました。前回チェックしたときはうまくいき、phpを使用していなかったので(したがって、コードや構成を変更していません)、驚きました。

状況は次のとおりです。セッションはページ全体に保存されません(保存でき、ページに同じように表示されますが、更新しても何も変わりません)。

私はここでPHPセッションデータが保存されていないことを見て、例を複製しました:

<?php
session_start();
if(isset($_SESSION['views']))
    $_SESSION['views'] = $_SESSION['views']+ 1;
else
    $_SESSION['views'] = 1;

echo "views = ". $_SESSION['views'];
echo '<p><a href="page1.php">Refresh</a></p>';

しかし、何も変わりません: 私はまだビュー = 1 を持っています。

それにもかかわらず、私は自分の設定を変更していませんが、それでも phpinfo() を見ました: ここに画像の説明を入力

フォルダー /tmp への書き込み権限を確認しました - それらは問題ありません。さらに、更新するたびに新しいファイルがそこに表示されます。

次に、他のブラウザで動作を確認しました。驚いたことに、Firefox で動作します。そこでは数値が正しく増加します。

したがって、状況: chrome では機能せず、firefox では機能します。私はデフォルトでクロムを使用しています。また、点滅に切り替わったときにクロムオプションをいじったことも覚えていますが、覚えている限り、すべてを元に戻しました。

Chromeでphpセッションを修正する方法はありますか?

PS:

  • Cookie は Chrome で有効になっています
  • セッションファイルは /tmp にありますそれらをすべて削除しようとしましたが、後でクロムでページを更新すると、新しいファイルが表示されます
  • ヘッダーで Cookie:PHPSESSID=mystring を送信していますが、セッション ID はありません
4

5 に答える 5

2

これは Chromium の既知の問題です。問題 114877

ルート フォルダーに favicon を配置すると、問題が解決するはずです。

于 2015-03-17T17:22:43.337 に答える
0

prefixsession.save_path = "/tmp"を使用してディレクティブをコメントしてみてください。php.ini;

したがって、再起動後apachephpinfo()表示されるはずno valueですsession_save_path

于 2013-05-13T12:57:34.027 に答える