Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit b61c8fc

Browse filesBrowse files
bug #26845 [Config] Fixing GlobResource when inside phar archive (vworldat)
This PR was merged into the 3.4 branch. Discussion ---------- [Config] Fixing GlobResource when inside phar archive | Q | A | ------------- | --- | Branch? | master | Bug fix? | yes | New feature? | no | BC breaks? | yes if old broken behavior counts as stable | Deprecations? | no | Tests pass? | no tests yet | Fixed tickets | | License | MIT | Doc PR | N/A When packaging an Sf4 application as a PHAR archive using globs at various locations (`Kernel`, `services.yaml`) most glob files are not found because the `glob()` PHP method [does not support PHAR streams](https://stackoverflow.com/questions/8203188/unexpected-problems-with-php-phar). Using the regex fallback instead when operating inside PHAR archives fixes the behavior for me. ## Examples: `src/Kernel.php::configureContainer()`: ```php $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob'); ``` Expected behavior: `config/services.yaml` inside PHAR archive is found and parsed Actual behavior: the file will not be loaded `config/services.yaml` (hard-coded in Kernel without using glob pattern) ```yaml App\: resource: '../src/*' exclude: '../src/{Entity,Migrations,Tests,Kernel.php}' ``` Expected behavior: service classes in `src/` will be found and auto-wired Actual behavior: services are not auto-wired because the class files are not found Commits ------- e336ebe Fixing GlobResource when inside phar archive
2 parents b7ccf10 + e336ebe commit b61c8fc
Copy full SHA for b61c8fc

File tree

1 file changed

+1
-1
lines changed
Filter options

1 file changed

+1
-1
lines changed

‎src/Symfony/Component/Config/Resource/GlobResource.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Config/Resource/GlobResource.php
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public function getIterator()
9393
return;
9494
}
9595

96-
if (false === strpos($this->pattern, '/**/') && (defined('GLOB_BRACE') || false === strpos($this->pattern, '{'))) {
96+
if (0 !== strpos($this->prefix, 'phar://') && false === strpos($this->pattern, '/**/') && (defined('GLOB_BRACE') || false === strpos($this->pattern, '{'))) {
9797
foreach (glob($this->prefix.$this->pattern, defined('GLOB_BRACE') ? GLOB_BRACE : 0) as $path) {
9898
if ($this->recursive && is_dir($path)) {
9999
$files = iterator_to_array(new \RecursiveIteratorIterator(

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.