PHP DSO permission issues are common when switching to the DSO handler.

With PHP DSO, the processes run as a different user than the actual webserver user and as a result you may run into problems with reading/writing files as you could’ve usually done without hiccups.

I prefer PHP DSO because it is much faster and I can specifically run things like XCache or Opcache with DSO which I cannot do with suPHP unfortunately.

Fix PHP DSO Permission Problems

The solution is to install and enable mod_ruid2 with your PHP. Recompile your PHP with mod_ruid2 and that will process ownership control and literally make http requests act on the user itself instead of something like nobody, apache or www.

There are other ways of doing this like making directories writable but it is not really an option to do that and compromise security for usability and convenience.

If you are on WHM/cPanel you can easily recompile Apache and PHP with mod_ruid2 using the EasyApache module.