
インストールしようとしているドキュメント管理システムで問題が発生し続けました。インストール プロセスの最初のステップで、次のエラーが発生していました。
Warning: Unknown: open(/tmp/sess_d39cac7f80834b2ee069d0c867ac169c, O_RDWR) failed: Permission denied (13) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
/tmpを調べたところ、sess_*ファイルに次の権限があることがわかりました。
---------- 1 vanced vanced 1240 Jan 20 08:48 sess_d39cac7f80834b2ee069d0c867ac169c
すべてのセッション ファイルは次のようになります。したがって、明らかに PHP では使用できず、多くの問題が発生しています。
PHP に正しい権限を設定させるにはどうしたらいいでしょうか? php.ini が使用するディレクトリを /tmp/phpsessions に変更してみましたが、同じことが起こります。ディレクトリは ですa+rwx
。
答え1
フォルダ/tmp
はセッションファイルのデフォルトのプレースホルダです。独自のカスタムセッションフォルダを使用することをお勧めします。
ホストが.htaccess
オーバーライド権限を許可している場合は、以下のディレクティブを.htaccess
以下のpublic_html
フォルダに配置することができますhttpdocs
。
php_value session.save_path '/yourpath/sessionfolder'
php
モードで実行していない場合はsuphp
、フォルダが他のユーザーによって書き込み可能であることを確認してください(777
)
答え2
このアカウントには特別な設定がありますかumask
? どこかで誰かが不適切に設定したようです。次のような結果が返されるはずです:
% umask
0022
答え3
実行中のプロセスの umask を見つけるには:
https://stackoverflow.com/questions/165212/linux-getting-umask-of-an-already-running-process
答え4
変更してみてくださいumask実際のアプリケーションでは。
index.php または bootstrap ファイルを見つけて、先頭に以下を追加します。
umask(0022);