#33495 [Opn->Csd]: Fatal error: Only variables can be passed by reference with array_shift

From: Date: Thu, 13 Oct 2005 05:27:58 +0000
Subject: #33495 [Opn->Csd]: Fatal error: Only variables can be passed by reference with array_shift
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-86499@lists.php.net to get a copy of this message
ID: 33495 User updated by: jsheets at idahoimageworks dot com Reported By: jsheets at idahoimageworks dot com -Status: Open +Status: Closed Bug Type: Scripting Engine problem Operating System: FreeBSD PHP Version: 5CVS-2005-06-27 (dev) New Comment: . Previous Comments: ------------------------------------------------------------------------ [2005-10-13 07:26:00] jsheets at idahoimageworks dot com This most certainly is a bug and one the community is now outraged about. Opened again, the memory corruption "fix" is simply an ugly solution and should be pulled out of PHP until it can be fixed properly. It too severly breaks BC of PHP and there is massive community outrage over this "fix" that breaks 60-90% of all PHP scripts including phpMyAdmin among other popular tools. All this "fix" is doing is preventing users from getting the latest version of PHP, ISPs will not install it because it breaks their users websites, this will expose users to security problems and make it very difficult to get newer versions of PHP installed. If massive changes needed to be done to fix this that is what should have been done, not a band aid solution that made a problem someone MIGHT encounter into something pretty much everyone encounters. Just the fact that this problem has been there since early PHP 4 days indicates the exposure and risk is fairly low, one more PHP release with it the way it was isn't going to cause an end to the project while releasing a half baked "fix" that does more harm than good is causing high amounts of negative press and community outrage. In my opinion this is another example of a few people assuming they know what is best for a community instead of actually listening to the community. ------------------------------------------------------------------------ [2005-07-18 21:17:55] derick@php.net This is not a bug, also, if you have anything else to add - only a patch which solves this problem is going to be considered. ------------------------------------------------------------------------ [2005-07-18 20:58:41] jsheets at idahoimageworks dot com Opened again ------------------------------------------------------------------------ [2005-07-18 20:58:25] jsheets at idahoimageworks dot com I have no problem if you want to make a note in the manual that indicates in the past the function could be used in this form however this form is now deprecated and support for it will be removed in the future. However that has not been done, there was no note made about the change to the function and the change was done in between beta releases of PHP 5.1 (between 1 and 2). GCC supports allows uses of functionality in unintended forms even though it isn't pretty because it was initially created in that form. They mark it as deprecated for at least a minor release (usually a major x.x release or even just x release for example from 3 to 4 in the case of major changes) and then remove it once the community has had an appropiate amount of time to update their code or choose to stay with an older version. In the past PHP has followed this type of reasonsing, in attempting to avoid breaking current behavior until a major release because people there is most likely porting that will need to take place at that time anyway. However introducing fatal errors without a warning with something that has worked for 5 years is simply bad and bogus. ------------------------------------------------------------------------ [2005-07-18 20:54:27] derick@php.net Without this fix, you get memory corruptions which cause strange and very hard to reproduce problems in large "enterprise" applications, or actually, even in small ones. It's either this fatal error (and it *should* be fatal, as you're doing *something wrong*), or hard to debug, incomprehensible vague errors in your enterprise scripts. I know what to choose. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/33495 -- Edit this bug report at http://bugs.php.net/?id=33495&edit=1

« previous php.bugs (#86499) next »