file_put_contents - failed to open stream: Permission denied

Hailwood picture Hailwood · Feb 7, 2011 · Viewed 234.7k times · Source

I am trying to write a query to a file for debugging. The file is in database/execute.php. The file I want to write to is database/queries.php.

I am trying to use file_put_contents('queries.txt', $query)

But I am getting

file_put_contents(queries.txt) [function.file-put-contents]: failed to open stream: Permission denied

I have the queries.txt file chmod'd to 777, what could the issue be?

Answer

Jason picture Jason · Feb 7, 2011

Try adjusting the directory permissions.

from a terminal, run chmod 777 database (from the directory that contains the database folder)

apache and nobody will have access to this directory if it is chmodd'ed correctly.

The other thing to do is echo "getcwd()". This will show you the current directory, and if this isn't '/something.../database/' then you'll need to change 'query.txt' to the full path for your server.