From 179854c3ceff53617e452f2e3ef9b50b13bd0aac Mon Sep 17 00:00:00 2001 From: Bryan Davis Date: Thu, 20 Nov 2014 16:05:07 -0700 Subject: [PATCH] Fix AutoloadGenerator to work on MediaWiki-Vagrant The use of realpath() in AutoloadGenerator::readFile() causes the LocalSettings.php symlink to be dereferenced. Since the target file lives outside of $IP, AutoloadGenerator would fail with an exception. Change-Id: I4623b3da9b984026999189d70349ffb4754812a5 --- includes/utils/AutoloadGenerator.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/includes/utils/AutoloadGenerator.php b/includes/utils/AutoloadGenerator.php index 98efd274af..727f4851ee 100644 --- a/includes/utils/AutoloadGenerator.php +++ b/includes/utils/AutoloadGenerator.php @@ -81,19 +81,15 @@ class AutoloadGenerator { * @var string $inputPath Path to a php file to find classes within */ public function readFile( $inputPath ) { - $path = realpath( $inputPath ); - if ( !$path ) { - throw new \Exception( "Invalid path: $inputPath" ); - } $len = strlen( $this->basepath ); - if ( substr( $path, 0, $len ) !== $this->basepath ) { + if ( substr( $inputPath, 0, $len ) !== $this->basepath ) { throw new \Exception( "Path is not within basepath: $inputPath" ); } $result = $this->collector->getClasses( - file_get_contents( $path ) + file_get_contents( $inputPath ) ); if ( $result ) { - $shortpath = substr( $path, $len ); + $shortpath = substr( $inputPath, $len ); $this->classes[$shortpath] = $result; } } -- 2.20.1