When using the common PHP installation on a webserver, PHP runs as the user nobody and it doesn't require the execute flag to be enabled. The problem with this is that if mod_openbasedir is not installed, every user will be able to read your PHP files because everyone is virtually sharing the same username (nobody).
PHP Files are not meant to be read, but parsed, and that is where the problem resides. PHP files have to be parsed, otherwise everyone who is able to read your PHP file will see settings that you would probably want to keep private, such as your MySQL username and password.
PHPSUEXEC fixes all this because it requires PHP to be run as the file owner's username and it also fixes file ownership problems. This is a common issue on a few Content Management Systems such as Joomla and also on the popular blog software WordPress. It also adds security to your files as you can use permissions such as 600 or 700 in your files and your visitors will still be able to view them in their browsers. PHPSUEXEC will also refuse to serve any pages that are at security risk, for example with 777 as permissions.
- 22 Users Found This Useful