session_id($id)
セッションを既存のものと置き換えるために使用したい。セッション ディレクトリを に移動し/tmp/php_sess
、そのフォルダに 777 のアクセス許可を設定しました。
ただし、PHP は許可を得てそのフォルダーにセッション ファイルを作成します。
-rw-------
そして、別のスクリプト (CLI から) はそれを読み取ることができません。どのように PHP にファイルを作成するように指示するか ( 777 ) ?
私はいくつかの解決策を見つけました。PHP は、セッションを作成するときに、ファイルにパーミッションを設定できます。
session_start();
$path = session_save_path().'/sess_'.session_id();
chmod($path, 0777);
ディレクトリを監視するようにincronを設定し、ファイルの作成時にchmodを777に設定できます。きれいではありませんが、効果的です。構成は次のようになります。
/tmp/php_sess IN_CREATE chmod 777 $@/$#
コマンドがルート権限で実行されるように、これはルート incron 構成にある必要があります。構成オプションの詳細については、こちらをご覧ください。