Bug #52397 [Com]: json_encode display_errors dependency

From: Date: Mon, 03 Sep 2012 22:18:16 +0000
Subject: Bug #52397 [Com]: json_encode display_errors dependency
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-173135@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=52397&edit=1

 ID:                 52397
 Comment by:         juzna dot cz at gmail dot com
 Reported by:        david at grudl dot com
 Summary:            json_encode display_errors dependency
 Status:             Not a bug
 Type:               Bug
 Package:            JSON related
 PHP Version:        5.3.3RC3
 Block user comment: N
 Private report:     N

 New Comment:

This bug has been upgraded in latest snapshot of 5.4 - json_encode doesn't report 
errors at all :/

https://bugs.php.net/bug.php?id=63004


Previous Comments:
------------------------------------------------------------------------
[2011-01-12 01:18:14] fake at example dot com

This is a valid bug. The point of this bug is that no warning ever is issued if display_errors is
off. The warnings should still be issued, they just shouldn't be.... displayed.

ini_set('display_errors', 1);
json_encode("\xFF");
print_r(error_get_last()); //nothing! wtf?

ini_set('display_errors', 0);
json_encode("\xFF");
print_r(error_get_last()); //now its there!

------------------------------------------------------------------------
[2010-08-17 14:29:53] iliaa@php.net

The return values are the same and so is the operation...

------------------------------------------------------------------------
[2010-07-22 01:00:35] david at grudl dot com

Description:
------------
Invalid UTF-8 string throws E_WARNING depending on the configuration directive display_errors:

ini_set('display_errors', 0);
json_encode("\xFF");  // PHP Warning:  json_encode(): Invalid UTF-8 sequence in argument
(in error log)

ini_set('display_errors', 1);
json_encode("\xFF");  // *nothing*

This directive determines whether errors should be printed to the screen as part of the output or if
they should be hidden from the user. It should not be used to change json_encode behaviour.

The same bug affects htmlentities() and htmlspecialchars() 

Test script:
---------------
ini_set('display_errors', 0);

json_encode("\xFF");

htmlspecialchars("\xFF", ENT_COMPAT, 'utf-8');

htmlentities("\xFF", ENT_COMPAT, 'utf-8');



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



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=52397&edit=1


Thread (4 messages)

« previous php.bugs (#173135) next »