parent
a4fb4dbcea
commit
593af4b1bf
|
@ -261,14 +261,8 @@ EOF;
|
|||
file_put_contents($vendorPath.'/autoload.php', $this->getAutoloadFile($vendorPathToTargetDirCode, $suffix));
|
||||
file_put_contents($targetDir.'/autoload_real.php', $this->getAutoloadRealFile(true, (bool) $includePathFile, $targetDirLoader, (bool) $includeFilesFile, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader, $classMapAuthoritative));
|
||||
|
||||
// use stream_copy_to_stream instead of copy
|
||||
// to work around https://bugs.php.net/bug.php?id=64634
|
||||
$sourceLoader = fopen(__DIR__.'/ClassLoader.php', 'r');
|
||||
$targetLoader = fopen($targetDir.'/ClassLoader.php', 'w+');
|
||||
stream_copy_to_stream($sourceLoader, $targetLoader);
|
||||
fclose($sourceLoader);
|
||||
fclose($targetLoader);
|
||||
unset($sourceLoader, $targetLoader);
|
||||
$this->safeCopy(__DIR__.'/ClassLoader.php', $targetDir.'/ClassLoader.php');
|
||||
$this->safeCopy(__DIR__.'/../../../LICENSE', $targetDir.'/LICENSE');
|
||||
|
||||
$this->eventDispatcher->dispatchScript(ScriptEvents::POST_AUTOLOAD_DUMP, $this->devMode, array(), array(
|
||||
'optimize' => (bool) $scanPsr0Packages,
|
||||
|
@ -750,4 +744,20 @@ FOOTER;
|
|||
|
||||
return $sortedPackageMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy file using stream_copy_to_stream to work around https://bugs.php.net/bug.php?id=6463
|
||||
*
|
||||
* @param string $source
|
||||
* @param string $target
|
||||
*/
|
||||
protected function safeCopy($source, $target)
|
||||
{
|
||||
$source = fopen($source, 'r');
|
||||
$target = fopen($target, 'w+');
|
||||
|
||||
stream_copy_to_stream($source, $target);
|
||||
fclose($source);
|
||||
fclose($target);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue