I am a network admin and I bring answers. First, creating a php.ini yourself and just adding disable_function is a bad idea as you should really pull a copy of the master php.ini. If you have access to your own server with (root) not jail shell access (also assuming it is a linux environment: Redhat or CentOS) you can type the following:
php -i | grep php.ini
The above command will tell you exact path for the true php.ini location. After running it, the system will blurb this to your screen:
root@host [/..]# php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration File => /usr/local/lib/php.ini
So then we just go there: cd /usr/local/lib
Now we copy it: cp php.ini php.2
Now we move it to your root directory:
mv php.2 /home/username/public_html
Now we goto your root directory: cd /home/username/public_html
Now we rename it: mv php.2 php.ini
Now we restore ownership: chown username:username php.ini
Open it up and find disable_functions= If you see init_set listed then it is disabled. If it is there, it is enabled so just remove it then save.
Most of us do not have the luxury of having root access to a machine, so you can ask your host to disable it. However, they will most likely tell you to get a life and put your support request on hold for hours till you give up. If they say no ask them if they can put a custom php.ini file in your root directory /public_html/ then either they can make that change or you regarding ini_set
UPDATE: Failed to mention that sometimes the custom php.ini needs to be placed within the directory of the calling script.
Hope this helps. Cheers!
Mobiuz Digital Media http://www.mobiuz.com