So this is what I see after downloading the PLESK11+CentOS6 ISO and installing it
In PLESK I add a domain mydomain.com and create a phpinfo.php file
The results include:
Loaded Configuration File /etc/php.ini
Apache Environment includes
PP_CUSTOM_PHP_INI /var/www/vhosts/system/mydomain.com/etc/php.ini
and a setting for disable_functions is 'no value' either locally or Master
I check in /etc/php.ini and confirm that disable_functions is not set
So then I create a test.php file to check whether I can exec something
All it is is echo exec('whoami');
It returns 'apache', that is what I would expect
So now I edit etc/php.ini to switch on global server wide disable_functions. I restart apache and now when I run phpinfo.php again disable_functions for local and Master is
disable_functions exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
These are the settings on my existing server which are causing me issues.
So now I run my test.php again. I get the expected result
Warning: exec() has been disabled for security reasons in /var/www/vhosts/mydomain.com/httpdocs/test.php on line 4
So far, so good. No I want to override the disable_functions for mydomain.com. I go to the PLESK GUI and in the big text box for PHP settings I type:
disable_functions =passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
Again I check phpinfo.php and confirm that my local disable_functions have been added as above. They have, so this should allow me to use the exec command in mydomain.com
So I run test.php, expecting to see 'apache' as the output again. But I get the same Warning message as above.
So clearly something is wrong. Please help.