Last modified: 2013-09-04 11:48:16 UTC
The .deps.php files in the skin directory use the following snippet to load SkinTemplate.php: require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php'); This assumes that the skin directory is in a specific place (which does not have to be the case if $wgStyleDirectory is used, especially useful for multi-site installations with the same source code directory). It would be more elegant to find the base path once and store it for later use, instead of having scripts guess each time they are called. As a workaround I currently ensure that MW_INSTALL_PATH is set in my LocalSettings.php and use that, there is probably some other define that I haven't noticed yet that works just as fine or is better suited. require_once( MW_INSTALL_PATH . '/includes/SkinTemplate.php');
Aren't .deps.php files be loaded at a point where $IP is set?
Actually, for that matter... all that matters is that we make sure that the relevant classes are loaded. Wouldn't using `AutoLoader::loadClass( 'SkinTemplate' );` etc... make more sense.
Check whether these files are still required at all -- they were added years ago as a workaround for a specific APC bug that required us to load some classes in a particular order or they'd intermittently break.
http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html http://pecl.php.net/bugs/bug.php?id=6503 Tim commented that the 'fix' to the bug was to treat that situation as a cache miss instead of as something that would cause a fatal error, so it's possible that while the bug may not cause things to break anymore, it may cause performance issues.
Resolving as invalid. These files no longer exist for quite some time, see bug 37194.