Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


JSON encoding /decoding problems on older PHP versions #2735

sgiehl opened this Issue · 8 comments

4 participants

Stefan Giehl Anthon Pang Matthieu Aubry Anonymous Piwik user
Stefan Giehl

On our meetup today a user reported problems with displaying some statistics in piwik mobile. As that were parse errors in the json string given from the server, we checked the response.

Seems to be that on his server the numberformating didn't work as expected as there were parts formated like {'key': 12,7} which is just invalid and should be {'key': 12.7}

I searched a bit, and I guess that might be a problem with older versions of PHP (<5.2.15). see

I currently don't have a server with php 5.2 running, so I can't reproduce that bug.

In order to fix that issue, maybe we should set the locale to english before using json_encode and reset that afterwards.

Anthon Pang

I think bug 53507 lists the wrong php version; I tested 5.2.6, 5.2.13 (and above) and the locale had no effect

I was able to reproduce the problem with 5.2.1. I checked the php 5 changelog, and this problem was reportedly fixed in 5.2.5.

Anthon Pang

(In [5432]) fixes #2735

Matthieu Aubry

Cool to get this fixed, what a complicated thing to do to be cross version compatible :) but this is good.

Can you please confirm that it does not break BC for existing JSON strings (except those with the buggy php version)?

Anthon Pang

The fallback is libs/upgradephp/upgrade.php's json_encode/json_decode, which is already used by Piwik users running PHP 5.1.x. This will now also apply to users running:

  • php 5.2.0, and
  • php 5.2.1 to 5.2.4 where the locale's decimal separator isn't '.'
Anonymous Piwik user

[] < can you elaborate a bit on what you see here?

Anthon Pang

(In [5520]) refs #2735, refs #2812

Anthon Pang

(In [5984]) refs #2735

Matthieu Aubry

(In [5994]) refs #2735 I assume it cannot hurt

Stefan Giehl sgiehl added this to the 1.7 Piwik 1.7 milestone
Anthon Pang robocoder was assigned by sgiehl
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.