I ran into a problem recently where I was no longer able to upload a file via PHP. I checked the server error log, and I saw entries like:
ModSecurity: Input filter: Failed writing X bytes to temporary file
Looking at my /tmp
directory it contained 128MB of data. Apparently ModSecurity tries to prevent the filesystem from being maliciously filled up.
If you try to manually clean up just with a rm -rf /tmp/*
, it will fail because the files are owned by dhapache
and are not writable by anyone else. But, with DreamHost VPS, you have the ability to add admin users (aka sudo
ers). As an admin user, you can then set up a cron to automatically clear out the /tmp
directory of old files:
su myadminuser sudo crontab -e
Then in the editor which opens, add this line:
0 0 * * * find /tmp -mtime +5 -exec rm -rf {} \;
This will delete all files under /tmp
which haven’t been modified in 5 days; it will happen every day at midnight.