2

何らかの理由で、私が取り組んでいるプロジェクトのローカル インストールで、URL に PHP セッション ID が追加されています。これは、他のサーバーでは発生しません。これを変更するために自分の側で変更できる設定はありますか? Mac OS 10.8.2 で PHP 5.4 を使用しています。

サンプル URL:http://localhost/project/subfolder/index.php/admin/game?PHPSESSID=mhnpc0g2c8rijqpkf8lhpfshh7

次のようにする必要があります。http://localhost/project/subfolder/index.php/admin/game

更新: PHP.ini ファイルを確認したところ、次の設定は正しいのですが、まだ URL にセッション ID が含まれています。

session.use_cookies = 1
session.use_only_cookies = 1
session.use_trans_sid = 0

ああ、念のため、PHP.ini を変更するたびに Apache を再起動しています :-)

2 回目の更新:私の Mac のどこに ini ファイルが隠れている可能性がありますか? PEARはこれをいじっていますか?皆さんありがとう!

4

3 に答える 3

2

php.ini次のように設定する必要があります。

session.use_cookies = 1
session.use_only_cookies = 1
session.use_trans_sid = 0

編集:

ini_setこれは、関数を使用して php 自体によって上書きすることができます。また、.htaccessファイルまたはphp_flag.

問題を特定するための優れたツールはgrepユーティリティです。次のように使用してみてください。

egrep -ir 'php_falg|ini_set' /etc/httpd/

apache の構成を検索するのに失敗し、もう一度同じコマンドを実行しますが、プロジェクトを指しています (.htaccessファイル内にあり、他のサーバー上に仮想ホストがファイルで構成されてAllowOverride Noneいる場合、.htaccessそこでは機能しません) 。

egrep -ir 'php_falg|ini_set' ~/Sites/ # or in whathever path your site is.
于 2012-10-19T14:39:57.707 に答える
1
session.use_cookies = 1 session.use_only_cookies = 0 session.use_trans_sid = 1
于 2012-11-07T07:38:56.470 に答える