-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Cannot rename because the target ...DebugProjectContainer.xml already exist #7816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
🐛 I have same issue with 2.3-dev but with |
This is a regression introduced by #7753. It introduced the |
@mpdude could you have a look at this ? |
@bschussek That probably happens when you change f. e. a service definition so the container has to be rebuilt? |
@mpdude Yes I think it happens when the container has to be rebuitl. |
This PR was merged into the master branch. Discussion ---------- [Filesystem] Made sure Filesystem::dumpFile() overwrites an existing file #7753 introduced a change in behaviour. Before, ConfigCache simply used the ``rename()`` function to save a file. It was replaced by ``Filesystem::dumpFile()`` which internally uses ``Filesystem::rename()``. The later checks if file already exists and throws an exception if it exists. This PR makes sure that ``Filesystem::dumpFile()`` removes the file before creating a new one. Alternatively, we could introduce a third parameter to the ``Filesystem::rename()`` which would allow to overwrite the target file. Before #7752: * [CompilerDebugDumpPass](https://github.com/symfony/symfony/blob/d100ffaf761b46acdb2440c04602378b87b0d610/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/CompilerDebugDumpPass.php#L23) uses ConfigCache * [ConfigCache](https://github.com/symfony/symfony/blob/d100ffaf761b46acdb2440c04602378b87b0d610/src/Symfony/Component/Config/ConfigCache.php#L103) uses the [rename()](http://uk1.php.net/rename) function (which overwrites a file if it exists) After #7752: * [CompilerDebugDumpPass](https://github.com/symfony/symfony/blob/ad47bc47380188041b7889f40e380ad3766a0110/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/CompilerDebugDumpPass.php#L23) uses the ``Filesystem::dumpFile()`` * [Filesystem::dumpFile()](https://github.com/webfactory/symfony/blob/ad47bc47380188041b7889f40e380ad3766a0110/src/Symfony/Component/Filesystem/Filesystem.php#L458) uses the [Filesystem::rename()](https://github.com/webfactory/symfony/blob/ad47bc47380188041b7889f40e380ad3766a0110/src/Symfony/Component/Filesystem/Filesystem.php#L239) (which throws an exception if file exists) | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #7816 | License | MIT | Doc PR | ~ Commits ------- 4f4ec76 [Filesystem] Made sure Filesystem::dumpFile() overwrites an existing file.
I recently frequently get the error "Cannot rename because the target "...app...DebugProjectContainer.xml" already exist.".
I get this error both in web applications (Apache) and on the CLI during testing. The latest CLI backtrace is:
I will provide a backtrace for the web application when I get the error again.
The text was updated successfully, but these errors were encountered: