php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #50435 Fatal error thrown for removed ini directives isn't fatal
Submitted: 2009-12-10 03:23 UTC Modified: 2009-12-14 10:56 UTC
From: arpad@php.net Assigned: kalle (profile)
Status: Closed Package: Scripting Engine problem
PHP Version: 6SVN-2009-12-10 (SVN) OS: N/A
Private report: No CVE-ID: None
 [2009-12-10 03:23 UTC] arpad@php.net
Description:
------------
The check for removed ini directives in php_module_startup (main/main.c) was changed to use E_ERROR instead of E_WARNING:
http://svn.php.net/viewvc/php/php-src/trunk/main/main.c?r1=288037&r2=288038&

Since it is run before module_initialized is set to 1, php_error_cb skips the bailout.

If it's supposed to be fatal then it should be E_CORE_ERROR, as README.UPDATING_TO_PHP6 says.

Reproduce code:
---------------
php -d register_globals=1 -r 'echo "hi\n";'

Expected result:
----------------
PHP Fatal error:  Directive 'register_globals' no longer exist in PHP 6 and greater in Unknown on line 0


Actual result:
--------------
PHP Fatal error:  Directive 'register_globals' no longer exist in PHP 6 and greater in Unknown on line 0
hi


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2009-12-10 03:27 UTC] arpad@php.net
Trivial patch correcting the grammatical error too:

Index: main/main.c
===================================================================
--- main/main.c	(revision 291937)
+++ main/main.c	(working copy)
@@ -2075,7 +2075,7 @@
 
 		while (*p) {
 			if (cfg_get_long((char*)*p, &val) == SUCCESS && val) {
-				zend_error(E_ERROR, "Directive '%s' no longer exist in PHP 6 and greater", *p);
+				zend_error(E_CORE_ERROR, "Directive '%s' no longer exists in PHP 6 and greater", *p);
 			}
 			++p;
 		}
 [2009-12-14 10:55 UTC] svn@php.net
Automatic comment from SVN on behalf of kalle
Revision: http://svn.php.net/viewvc/?view=revision&revision=292126
Log: Change to E_CORE_ERROR as advertised (Fixes #50435) - Patch by arpad@php.net
 [2009-12-14 10:56 UTC] kalle@php.net
This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Apr 16 11:01:29 2024 UTC