Search code examples
phpapachelogginglog4php

Where can I store logs in PHP app so that they cannot be accessed via HTTP?


Sorry if this is a trivial question.

I am a kind of new to PHP and I'm creating a project from scratch. I need to store my application logs (generated using log4php) as files, and I don't want them to be public.

They are now stored in a subfolder under my PHP application folder, (/myAppFolder/logs) so they are served by Apache.

Where shall I store them, or what shall I do to keep them away from being served as content by Apache?


Solution

  • You can either have them in a directory above the root, or, if you're on shared host/ can't have the files above the root for whatever reason, you can have them in a directory that denies all HTTP access.

    So you could have a folder called "secret_files" with a .htaccess file sitting inside:

    .htaccess:

    deny from all
    

    Which will prevent HTTP access to files/subfolders in that folder.