php.ini read only from /opt/local/var/db/php5

Steve Edwards killshot91 at comcast.net
Tue Nov 17 07:38:57 PST 2009



Scott Haneda wrote:
> On Nov 16, 2009, at 10:55 PM, Steve Edwards wrote:
>
>> I'm using and Apache and PHP ports, a
>
> What version of Apache, and what version of php are you using?
>
> I am at php5 @5.3.0_1+apache2+macosx
PHP 5.2.9 and Apache 2.2 on Snow Leopard
>
>> nd my php.ini is not being read from where it should be.  According 
>> to my phpinfo(), it is loading php.ini from /opt/local/etc/php5,
>
> That is where mine is read from.
>
>> yet any changes I make in that file make no effect, and the Loaded 
>> Configuration File is set to (none).
>
> I am assuming you restart apache, in some way or another, after you 
> make these changes?

Yes, that is correct.
>
>> I noticed a while ago that my other config files (APC.ini, 
>> imagick,ini, xdebug.ini, memcache.ini) were not read unless they were 
>> in /opt/local/var/db/php5,
>
> I have in /opt/local/var/db/php5
> curl.ini   gd.ini     imap.ini   mcrypt.ini zlib.ini
>
> For the php5 Portfile for version 5.3.0, if you look at about line 60'ish
> set phpinidir           ${prefix}/etc/${my_name}
> set extraphpinidir      ${prefix}/var/db/${my_name}
>
> So it is as intended to have the extras in the /opt/local/var/db/php5 
> location.
>
> However, /opt/local/etc/php5 should be where php.ini is read from, 
> assuming we are on the same version of php installed by the same 
> Portfile.  I see any changes with no issue as long as I reload.
>
>> and that seems to be the case with php.ini.  Once I put a copy in 
>> /opt/loca/var/db/php5, any changes I made in that file are shown in 
>> phpinfo, and Loaded Configuration File shows 
>> /opt/local/var/db/php5/php.ini.
>
> I think it should work fine in the extraphpinidir, but it would be 
> nice to discover why your install is not reading from the normal 
> phpinidir.
>
> Can you show the output of `php -i` ?  Specifically, seeing the 
> configure options would be helpful...
>
> Mine has:
> '--with-config-file-path=/opt/local/etc/php5'
> '--with-config-file-scan-dir=/opt/local/var/db/php5'
>
> I wonder what your 'with-config-file-path' is set to.  Even going to 
> back 5.2.10, the phpinidir is set to the same, 
> http://trac.macports.org/browser/trunk/dports/lang/php5/Portfile?rev=53529 
>
Mine are:
'--with-config-file-path=/opt/local/etc/php5'
'--with-config-file-scan-dir=/opt/local/var/db/php5'
>
> Some more snips, for which you should be equivalent...
> Configuration File (php.ini) Path => /opt/local/etc/php5
> Loaded Configuration File => /opt/local/etc/php5/php.ini
> Scan this dir for additional .ini files => /opt/local/var/db/php5
>
> Additional .ini files parsed => /opt/local/var/db/php5/curl.ini,
> /opt/local/var/db/php5/gd.ini,
> /opt/local/var/db/php5/imap.ini,
> /opt/local/var/db/php5/mcrypt.ini,
> /opt/local/var/db/php5/zlib.ini
>
> It would be good to see the line that says 'Loaded Configuration File' 
> when the file is non existent, when it only exists in prefix/etc and 
> when it only exists in prefix/var and when it exists in both.
When it exists in /opt/local/etc/php5 and NOT in /opt/local/var/db/php5:
(none)

When it exists in both places
/opt/local/var/db/php5/php.ini

When it exists only in /opt/local/var/db/php5/php.ini \:
/opt/local/var/db/php5/php.ini
>
> Is your httpd.conf file, assuming Apache 2, have uncommented, at added 
> the line:
> LoadModule php5_module        modules/libphp5.so
That line as already there.
>
> And do you also have the line:
> Include /opt/local/apache2/conf/extras-conf/mod_php.conf
>
Also already there.
>> So my questions are:
>> 1) Why is the one in /opt/loca/var/db/php5 the only one that works?
>> 2) Why does Configuration File (php.ini) Path show as 
>> /opt/local/etc/php when that is not the file that is loaded?
>> 3) Can my setup be fixed so that the /opt/local/etc/php/php.ini is 
>> the file that is used?
>
> I do not know how much you rely on your machine being up and running, 
> and what other custom changes you have made.  If this is just a 
> version issue, it should be a simple sudo port upgrade php5, or maybe 
> you are version 4, in which case a bit of the above is not right.
>
> You could do an uninstall and reinstall of php5, that should work it 
> all out. Something like:
> sudo port uninstall php5
> sudo port install php5
>
> Please add the variants you need, and backup and move aside any ini or 
> other config files that you may want t keep around.

I only want 5.2, not 5.3.  Can I install a port with just that version?

Thanks.

Steve


More information about the macports-users mailing list