可能性のある複製:
session_start()を呼び出したときにパーミッションエラーを修正するにはどうすればよいですか?
次のエラーが表示されます。
PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: open(/tmp/sess_49a20cbe1ef09a2d0262b3f7eb842e7b, O_RDWR) failed: Permission denied (13) in /home/------/public_html/includes/libs/ss.inc.php on line 1
問題は常に起こるわけではありませんが、行き来します。
このss.inc.phpの1行目のコード
<?php session_start(); ?>
サーバーの/tmp
ディレクトリへの書き込み権限がないようです。これは少し奇妙ですが、回避することができます。 Beforesession_start()
への呼び出しはsession_save_path()
への呼び出しを行い、サーバーが書き込み可能なディレクトリの名前を与えます。 詳細はこちら 。
phpinfo()を実行し、session.save_pathを探します。そこにあるディレクトリには、ウェブサーバーが実行されているユーザーまたはグループ、あるいはその両方に対する正しい権限が必要です。
以前にこの問題が発生したことがあります。755
情報を保存するには、標準の644
または$_SESSION
以上の権限が必要です。それが覚えているので、あなたはそのファイルに書き込むことができる必要があります。
/tmp
に対する書き込み権限を持っていないようです。
構成変数 session.save_path を編集して、関数 session_save_path() を1 directory abovepublic_html
(したがって、外部ユーザーは情報にアクセスしません)。
PHPには、/ tmpディレクトリへの書き込み権限がありません。/tmpパーミッションを開くには、chmod
コマンドを使用する必要があります。