Last modified: 2013-09-26 05:13:41 UTC
The $IP variable is used in DefaultSettings.php, which means if you change it in LocalSettings.php, you must also override any DefaultSettings.php variable that depends on it.
It seems we we should either:
1. Remove all references to $IP in DefaultSettings.php, and use Setup.php (e.g. how $wgStyleDirectory works).
2. Document that $IP is now an internal variable and should not be set in LocalSettings.php.
$IP has already been used to load a bunch of code in WebStart.php long before LocalSettings.php is loaded -- it's WAY too late to change $IP there.
The only semi-correct way I can see to change it is to set the MW_INSTALL_PATH environment variable which can override the dirname(__FILE__) path, and I'm not 100% convinced that's actually useful for anything in the first place.
Comments in the code seem to indicate it can be used to override expansion of symlinks, but that seems like a wonky idea -- you've already hit at least index.php and includes/WebStart.php from the base directory, so you can't really flip to another version or something.