TRAFEX TRAFEX Consultancy Consultancy

PHP 5.5.13 breaks backwards compatibility

June 17, 2014

There’s a backwards compatibility break in PHP 5.5.13 (and PHP 5.4.29) affecting PHPUnit, Mockery, Doctrine, Symfony and probably a lot more.

Rafael Dohms triggered me with this Tweet;

And I also ran into the issues with Mockery/PHPUnit;

Failed asserting that exception of type "PHPUnit_Framework_Error_Warning" matches expected exception "SymfonyComponentHttpKernelExceptionNotFoundHttpException". 
Message was: "Erroneous data format for unserializing 'Mockery_9_Symfony_Component_HttpFoundation_File_UploadedFile'".

I found the following sources that explain what happened:

It’s advisable to not upgrade to PHP5.5.13 but wait for PHP5.5.14, it should be released soon.

Update June 19

PHP.net answered my question when 5.5.14 gets released;

Update June 29

The good news: PHP5.5.14 is released with the following note:

Please, note that this release also fixes a backward compatibility issue that has been detected in the PHP 5.5.13 release. Still, the fix in PHP 5.5.14 may break some very rare situations. As this tiny compatibility break involves security, and as security is our primary concern, we had to fix it. This concerns bug 67072. For more information about this bug and its actual resolution, please visit our upgrading guide. We apologize for any inconvenience you may have experienced with this behavior.

The bad news: It doesn’t fix the ‘Erroneous data format’ error!
I guess we’ll have to wait another month for the next release.

Update September 24

To wrap-up this post; I’m currently running PHP5.5.17 and the errors are gone! Hurray!

Go back

Recent articles

Articles

Giving structure to your Kubernetes configuration

Best practices for giving structure to your Kubernetes configuration

Read More

Articles

Monitor business KPIs using the OpenMetrics standard

Visualizing the important business KPIs in one dashboard by using an open standard and open source software

Read More

Articles

How to make a load testing plan

Load testing gives insight into a web application’s behavior under peak load conditions and realistic load conditions. By load testing your web application you will identify the maximum capacity the web application can handle as well as any bottlenecks and determine which element is causing degradation.

Read More