Re: php.ini include_path and symlinks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2007-11-06 at 18:35 -0800, Ravi Menon wrote:
> Hi,
> 
> We run php 5.2.0 + apache 2.2. with apc turned on ( apc.stat also on
> ). Earlier we did not use the php.ini include_path setting. We relied
> on some symlinks for our common code
> so that require_once works correctly.
> 
> This worked fine and during code releases we flipped the main
> 'release' symlink atomically, without restarting apache.
> 
> Later we decided to use php.ini include path to refactor common code
> more cleanly and it looks like:
> 
> include_path=.:/some/dir/current:......
> 
> Now 'current' above is a symlink.
> 
> When we push out a new release the current is updated atomically and
> apache is not restarted.
> 
> This seems to pick the new changes and I ran some manual tests to
> confirm. However occasionally I see weird
> errors where it seems php could be resolving the symlink to the actual
> dir. at apache startup, and it assumes
> that old dir. When a new release goes out, we see 'fatal redeclare errors' etc..
> 
> Restarting apache (TERM and not USR1) seems to fix it.
> 
> We could update our install scripts to restart apache, but I am just
> curious, is this really necessary?
> 
> Is there anyway to prevent php from not resolving symlinks but use
> them as it is in the include_path?

Are you using a compile cache like eaccelerator or APC etc? Sometimes
it's the cache that doesn't realize things have changed. I use a symlink
switcher for version releases also and I always flush the eaccelerator
directory when I do that.

Cheers,
Rob.
-- 
...........................................................
SwarmBuy.com - http://www.swarmbuy.com

    Leveraging the buying power of the masses!
...........................................................

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux