結論から言いますと、変えられる。ただし面倒くさい。
session_set_save_handler
bool session_set_save_handler ( callable $open , callable $close , callable $read , callable $write , callable $destroy , callable $gc )
session save handler を作って保存すればいい。
<?php $handler = new FileSessionHandler(); session_set_save_handler( array($handler, 'open'), array($handler, 'close'), array($handler, 'read'), array($handler, 'write'), array($handler, 'destroy'), array($handler, 'gc') );
でもこれって面倒だよね
session_save_pathを使えばパスは変えられる。
<?php session_save_path( $app_root."/var/sessions");
php のsession_save_path を使えば気軽に。セッション保存先を変えられる。
パスは変えられる、でもファイル名は変えられない
http://stackoverflow.com/questions/4009245/session-file-naming
Yes, sess_ is a hard-coded prefix for the session file name. You can see that in the source file mod_files.c:
#define FILE_PREFIX "sess_"
ハードコーディングされているので、ファイル名は変更不可の模様。
/tmp に保存するのやばい
/tmp にセッション書いていると、共有ホスティング(今は減ったけど)だと、/tmpが読み取り可能になってアレゲ
とりあえず、パスは変えられる、ファイル名はsession_set_save_handler 系を使う。
参考資料
http://stackoverflow.com/questions/4009245/session-file-naming