ID: 31251 Updated by: [EMAIL PROTECTED] Reported By: giovanni at giacobbi dot net Status: Bogus Bug Type: Unknown/Other Function Operating System: Linux PHP Version: 4.3.10 New Comment:
We don't promise anything, as you can read in our license (http://www.php.net/license/3_0.txt): THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Previous Comments: ------------------------------------------------------------------------ [2004-12-22 18:46:01] giovanni at giacobbi dot net I KNOW that, but when you provide a valuable software you also "promise" to proprietary vendors that you won't change the underlying infrastructure. This is the purpose of stable and frozen branches. Is it possible to have a REAL BUGFIX ONLY branch of PHP 4.3? ------------------------------------------------------------------------ [2004-12-22 18:30:25] [EMAIL PROTECTED] The foreach bug is ONLY caused due to an old Zend Optimizer. Upgrading to a newer version fixes the problem, this is NOT a PHP bug. ------------------------------------------------------------------------ [2004-12-22 18:23:06] [EMAIL PROTECTED] Do not file bugs when you have Zend extensions (zend_extension=) loaded. Examples are Zend Optimizer, Zend Debugger, Turck MM Cache, APC, Xdebug and ionCube loader. These extensions often modify engine behavior which is not related to PHP itself. What the hell do you mean by that? It's not *our* job to keep external stuff being compatible with PHP. If we want to increase performance, we do that. Other people'll have to adjust their proprietary software to that. Period. ------------------------------------------------------------------------ [2004-12-22 18:23:00] [EMAIL PROTECTED] Do not file bugs when you have Zend extensions (zend_extension=) loaded. Examples are Zend Optimizer, Zend Debugger, Turck MM Cache, APC, Xdebug and ionCube loader. These extensions often modify engine behavior which is not related to PHP itself. ------------------------------------------------------------------------ [2004-12-22 17:47:14] giovanni at giacobbi dot net Description: ------------ I've been a PHP developer for years and I don't remember such a big bug introduced in a stable production release. The foreach() patch backported from PHP5 broke down many sites that I run and which use proprietary optimizers. You should definitely remember what "stable" and "production" words mean, and keep fun for PHP5. P.S.: The bug is indeed in the optimizer, but this doesn't allow you to make these kind of changes. Reproduce code: --------------- this is just explanative, the bug can be shown only with the proprietary optimizer. $a = array(array("a", "b"), array("a", "b")); foreach ($a as $ax) { var_dump($a); } Expected result: ---------------- obvious. Actual result: -------------- scratched array. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31251&edit=1