php.ini loading

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I am running PHP as an Apache Module.

PHP 5.2.6

On my local server it is loading the php.ini from C:\Windows\php.ini

I am having 2 issues that I can hope to resolve.

1. I would prefer it to load from the working directory which getcwd()  
shows to be my site root (as expected).  This was never a problem before  
but I need to have some independent configs since my clients are across  
different servers.

The config text says it will look for it in the working directory which  
I think brings me to issue 2.

2.  The php.ini only reloads when I restart the apache server not on  
each page call which I think is why it is loading the default.

When I changed the config on the production server it would reflect it,  
but not on the local.

So in a nut shell I would like to have the config file loaded from my  
working directory on each invocation of a php page.

Is this possible or am I looking at this all wrong?


Re: php.ini loading

On 1/12/2014 10:25 PM, Scott Johnson wrote:
Quoted text here. Click to load it

Hi, Scotty,

You do NOT want to have your php.ini file ANYWHERE under a  
DOCUMENT_ROOT.  That is a huge security exposure.

And what's wrong with where it is?  PHP will use the same php.ini file  
for all invocations if you're running it as an Apache module.  You won't  
get different ones for different websites.

Quoted text here. Click to load it

That is correct operation.  Parsing it for every page would be  
unnecessary overhead.

Quoted text here. Click to load it

Are you running PHP as an Apache module on the production server?

Quoted text here. Click to load it

It is not possible (and not advisable).

But you can put additional PHP options in your Apache configuration file  
(and .htaccess if it Apache is configured to use it).  You can't change  
some things (like which external modules are loaded), but you can most  
options.  See for more  

Remove the "x" from my email address
Jerry Stuckle

Re: php.ini loading

Am 13.01.2014 04:25, schrieb Scott Johnson:

Quoted text here. Click to load it

This would be a huge security hole! You don't want your php.ini there!

Quoted text here. Click to load it

Yes - because PHP is loaded as Apache module. This means that Apache
will only load the PHP module *once* and not for every single request.

Quoted text here. Click to load it


1) You can use ini_set() (see
< ) to override settings if

2) You can use an .htaccess file to override PHP settings if needed

3) You can use PHP as CGI and not module - so it will be loaded for
every request and therefore load the settings as well for every request.
I would not recommend this for production sites due to the worse
performance compared to the module (which only has to be loaded once
when Apache starts) - but for testing purposes this should be OK.

4) You can use PHP with FastCGI using mod_fcgi and an appropriate
wrapper script, if you need specific settings for one site where you
pass the site specific php.ini to the PHP runtime (and/or customized
settings for the site)

Arno Welzel

Re: php.ini loading

On 1/12/2014 7:25 PM, Scott Johnson wrote:


Thanks to everyone for suggestions.

Not sure why I had it in my brain to load separate configs since it has  
never been an issue previously.

On further thought and study it would be a security issue as Jerry and  
Arno pointed out.

Thanks for clearing the cob webs.


Site Timeline