FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » php.ini loading
Show: Today's Messages :: Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
php.ini loading [message #184623] Mon, 13 January 2014 03:25 Go to next message
Scott Johnson is currently offline  Scott Johnson
Messages: 196
Registered: January 2012
Karma: 0
Senior Member
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?

Thanks
Scotty
Re: php.ini loading [message #184624 is a reply to message #184623] Mon, 13 January 2014 03:41 Go to previous messageGo to next message
Jerry Stuckle is currently offline  Jerry Stuckle
Messages: 2598
Registered: September 2010
Karma: 0
Senior Member
On 1/12/2014 10:25 PM, Scott Johnson wrote:
> 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.
>

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.

> 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.
>

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

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

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


> 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?
>
> Thanks
> Scotty
>
>

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 http://www.php.net/manual/en/ini.list.php for more
information.

--
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex(at)attglobal(dot)net
==================
Re: php.ini loading [message #184625 is a reply to message #184623] Mon, 13 January 2014 03:46 Go to previous messageGo to next message
jnorth.au is currently offline  jnorth.au
Messages: 5
Registered: January 2014
Karma: 0
Junior Member
On Sun, 12 Jan 2014 19:25:24 -0800, Scott Johnson <noonehome(at)chalupasworld(dot)com> wrote:

> 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?
>
> Thanks
> Scotty
>

I'm not sure if this answers your question:
http://hyponiq.blogspot.com.au/2009/02/apache-php-multiple-phpini.html
Re: php.ini loading [message #184632 is a reply to message #184623] Mon, 13 January 2014 14:42 Go to previous messageGo to next message
Arno Welzel is currently offline  Arno Welzel
Messages: 317
Registered: October 2011
Karma: 0
Senior Member
Am 13.01.2014 04:25, schrieb Scott Johnson:

> 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.

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

> 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.

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.

> 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.

Why?

1) You can use ini_set() (see
<http://php.net/manual/de/function.ini-set.php>) to override settings if
needed.

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
http://arnowelzel.de
http://de-rec-fahrrad.de
Re: php.ini loading [message #184637 is a reply to message #184623] Tue, 14 January 2014 00:05 Go to previous message
Scott Johnson is currently offline  Scott Johnson
Messages: 196
Registered: January 2012
Karma: 0
Senior Member
On 1/12/2014 7:25 PM, Scott Johnson wrote:

<snipped>

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.

Scotty
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Trouble connecting to a PHP SoapServer module
Next Topic: switch says value is equal to case when it is not
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Thu Nov 21 23:02:18 GMT 2024

Total time taken to generate the page: 0.02922 seconds