This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Fabien Potencier cdd89fb3be merged branch jfsimon/issue-6203 (PR #7360)
This PR was merged into the 2.1 branch.

Commits
-------

f2ef6bc [FrameworkBundle] removed BC break
cc3a40e [FrameworkBundle] changed temp kernel name in cache:clear
7d87ecd [FrameworkBundle] fixed cahe:clear command's warmup

Discussion
----------

[FrameworkBundle] fixes cahe:clear command's warmup

Solution taken is to replace the last char of the cache directory name to create a temporary cache directory, this way the temporary cache path has the same length than the real one. I tested this on several projects, in dev and prod environments.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #6203

---------------------------------------------------------------------------

by jfsimon at 2013-03-13T12:32:25Z

@toloco @gergelypolonkai @ghost-x47 @stewe it would be great if you could test this patch on your projects and report result!

---------------------------------------------------------------------------

by toloco at 2013-03-13T12:41:47Z

Im sorry but have the same...

Notice: unserialize(): Error at offset 155 of 174227 bytes in /home/tolopalmer/Projects/shareandcoach/app/bootstrap.php.cache line 915

---------------------------------------------------------------------------

by jfsimon at 2013-03-13T12:45:04Z

@toloco could you paste the backtrace in a gist? and maybe the concerned file?

---------------------------------------------------------------------------

by stof at 2013-03-13T13:11:47Z

@jfsimon You probably have the same issue with the name of the temporary kernel class

---------------------------------------------------------------------------

by jfsimon at 2013-03-13T13:36:13Z

@stof if you're right, it's a nightmare. It must be possible to write a parser/fixer for serialized objects, don't you think?

---------------------------------------------------------------------------

by toloco at 2013-03-13T14:22:56Z

Here you are the gist with the stack and the bootstrap.php.cache file

https://gist.github.com/toloco/5152581

---------------------------------------------------------------------------

by mpdude at 2013-03-13T20:08:08Z

@jfsimon Writing such a parser is painting yourself in the corner.

Use a temp kernel class name of the same length as a quick fix.

#7230 could bring a solution because we might be able to inject a different ConfigCache factory during the command that intercepts and substitutes Resources before they get written into the meta file. Not sure if that PR has a chance of being picked though.

---------------------------------------------------------------------------

by toloco at 2013-03-14T08:19:58Z

So guys? we are blocked with this problem, can I help you? I can provide more stacks if it's needed

---------------------------------------------------------------------------

by mpdude at 2013-03-14T10:05:05Z

@toloco Could you please post the /home/tolopalmer/Projects/shareandcoach/app/cache/dev/appDevUrlMatcher.php.meta file? That's the one that is broken.

---------------------------------------------------------------------------

by jfsimon at 2013-03-14T10:15:20Z

@mpdude you can find its content in the gist https://gist.github.com/toloco/5152581 (1st file, 6th line)

---------------------------------------------------------------------------

by mpdude at 2013-03-14T10:24:55Z

@toloco That file should contain a serialized set of Resources, it's not in the Gist.

---------------------------------------------------------------------------

by jfsimon at 2013-03-14T10:33:12Z

@mpdude it's more visible in the raw file: ttps://gist.github.com/toloco/5152581/raw/48a1a823b5c8e6ba03936a52e8dc0d0ff1888f8a/Error+

---------------------------------------------------------------------------

by jfsimon at 2013-03-14T10:33:27Z

sorry: 48a1a823b5/Error+

---------------------------------------------------------------------------

by toloco at 2013-03-14T10:37:09Z

https://gist.github.com/toloco/5160317 here you are the appDevUrlMatcher.php and meta

---------------------------------------------------------------------------

by jfsimon at 2013-03-14T10:51:46Z

@toloco I applied @mpdude's solution (have a temp kernel class name of the same length than the real one).
Could you test it to see if it fixes your problem?

---------------------------------------------------------------------------

by mpdude at 2013-03-14T10:58:46Z

@jfsimon Thanks!
@toloco If Jean-François' fix does not work, please make sure that the .meta file you posted was the broken one? I was able to unserialize it without problems.

---------------------------------------------------------------------------

by toloco at 2013-03-14T11:02:09Z

Man!!!! you are the fucking boss it works!!

---------------------------------------------------------------------------

by mpdude at 2013-03-14T11:04:30Z

@jfsimon you just made someone happy.

---------------------------------------------------------------------------

by jfsimon at 2013-03-14T11:12:39Z

@toloco @mpdude \o/
2013-03-14 12:28:00 +01:00
src/Symfony merged branch jfsimon/issue-6203 (PR #7360) 2013-03-14 12:28:00 +01:00
.editorconfig Add EditorConfig File 2012-06-16 14:08:15 +02:00
.gitignore ignore composer.phar 2012-04-20 14:10:06 +01:00
.travis.yml Merge branch '2.0' into 2.1 2013-01-05 16:31:25 +01:00
autoload.php.dist Removed the unnecessary file include 2012-08-31 13:16:54 +02:00
CHANGELOG-2.0.md updated CHANGELOG for 2.0.22 2013-01-17 16:39:41 +01:00
CHANGELOG-2.1.md fixed CHANGELOG 2013-02-23 23:02:46 +01:00
composer.json Defined stable version point of Doctrine. 2013-02-22 13:53:49 -05:00
CONTRIBUTING.md Making it easier to grab the PR template. 2012-12-15 21:57:27 +00:00
CONTRIBUTORS.md update CONTRIBUTORS for 2.0.22 2013-01-17 16:40:10 +01:00
LICENSE updated license year 2013-01-04 17:59:43 +01:00
phpunit.xml.dist [Locale] Fixed tests 2012-09-24 10:11:13 +02:00
README.md Fix typos in README 2013-01-19 11:32:41 +01:00
UPGRADE-2.1.md info about session namespace 2012-11-19 17:25:14 +01:00

README

What is Symfony2?

Symfony2 is a PHP 5.3 full-stack web framework. It is written with speed and flexibility in mind. It allows developers to build better and easy to maintain websites with PHP.

Symfony can be used to develop all kind of websites, from your personal blog to high traffic ones like Dailymotion or Yahoo! Answers.

Requirements

Symfony2 is only supported on PHP 5.3.3 and up.

Be warned that PHP versions before 5.3.8 are known to be buggy and might not work for you:

Installation

The best way to install Symfony2 is to download the Symfony Standard Edition available at http://symfony.com/download.

Documentation

The "Quick Tour" tutorial gives you a first feeling of the framework. If, like us, you think that Symfony2 can help speed up your development and take the quality of your work to the next level, read the official Symfony2 documentation.

Contributing

Symfony2 is an open source, community-driven project. If you'd like to contribute, please read the Contributing Code part of the documentation. If you're submitting a pull request, please follow the guidelines in the Submitting a Patch section and use Pull Request Template.

Running Symfony2 Tests

Information on how to run the Symfony2 test suite can be found in the Running Symfony2 Tests section.