8000 bug #25816 Problem in phar see mergerequest #25579 (betzholz) · symfony/dependency-injection@b3f4b35 · GitHub
[go: up one dir, main page]

Skip to content
8000

Commit b3f4b35

Browse files
committed
bug #25816 Problem in phar see mergerequest #25579 (betzholz)
This PR was squashed before being merged into the 2.7 branch (closes #25816). Discussion ---------- Problem in phar see mergerequest #25579 | Q | A | ------------- | --- | Branch? | 2.7 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #... <!-- #-prefixed issue number(s), if any --> | License | MIT | Doc PR | symfony/symfony-docs#... <!--highly recommended for new features--> If packed into phar the old version creates path like 'file:///phar%3A/'. see symfony/symfony#25579 Commits ------- 3e0c8ffb43 Problem in phar see mergerequest #25579
2 parents b48f8b7 + ec76727 commit b3f4b35

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Loader/XmlFileLoader.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,16 +458,20 @@ public function validateSchema(\DOMDocument $dom)
458458
$imports = '';
459459
foreach ($schemaLocations as $namespace => $location) {
460460
$parts = explode('/', $location);
461+
$locationstart = 'file:///';
461462
if (0 === stripos($location, 'phar://')) {
462463
$tmpfile = tempnam(sys_get_temp_dir(), 'sf2');
463464
if ($tmpfile) {
464465
copy($location, $tmpfile);
465466
$tmpfiles[] = $tmpfile;
466467
$parts = explode('/', str_replace('\\', '/', $tmpfile));
468+
} else {
469+
array_shift($parts);
470+
$locationstart = 'phar:///';
467471
}
468472
}
469473
$drive = '\\' === DIRECTORY_SEPARATOR ? array_shift($parts).'/' : '';
470-
$location = 'file:///'.$drive.implode('/', array_map('rawurlencode', $parts));
474+
$location = $locationstart.$drive.implode('/', array_map('rawurlencode', $parts));
471475

472476
$imports .= sprintf(' <xsd:import namespace="%s" schemaLocation="%s" />'."\n", $namespace, $location);
473477
}

0 commit comments

Comments
 (0)
0