スタートアップ向けの Web サイトをコーディングしていますが、現在、ユーザーのログイン状態を維持するためにセッション データを保存するのに問題があります。セッション変数を使用しようとすると、次のZend_Auth
ようになります。
Warning: session_start() [function.session-start]: open(/data/session/session id, O_RDWR) failed: Permission denied (13)
別の同様の質問からこのスクリプトを実行しようとしたところ、ディレクトリが書き込み可能ではないことがわかりました。
$path = session_save_path();
if (is_dir($path)) {
echo "directory exists\r\n";
echo (is_readable($path) ? "directory is readable\r\n" : "directory is not readable\r\n");
echo (is_writable($path) ? "directory is writable\r\n" : "directory is not writable\r\n");
}
else "directory does not exist\r\n";
/data
そのため、とのアクセス許可を変更しました/data/sessions
が、それらが に設定されていて777
も、同じメッセージが表示されます。次に、同じ問題に関する別の質問からこのスクリプトを実行してみました。
error_reporting(E_ALL);
ini_set('display_errors', 1);
$s = stat('/tmp');
printf('%o', $s[2]);
file_put_contents('/tmp/phptest1234.txt', 'test');
unlink('/tmp/phptest1234.txt');
これは を返します41777
。同じ質問から、umask をチェックすると以下が返されます。
php-umask: 22
exec-umask: 0022
これは何を意味し、どうすれば修正できますか?