ID: 18590 Comment by: krajicek at centrum dot sk Reported By: armageddon at raydan dot de Status: No Feedback Bug Type: Scripting Engine problem Operating System: WinXP Pro PHP Version: 5.0.0-dev New Comment:
confirming the same (similar) issue - if file with function definition is included twice (via include) in the script run it throws Fatal Error - Cannot redeclare functionXY. on reload the Fatal Error is gone. on any change to script or PHP related server config is error back again. fix for the error message is to use include_once instead of include. but this can cause problems by not displaying error messages all the times. OS: FreeBSD 6.3-STABLE-20080418.1500 Apache 2.0 Handler (20051115) PHP Version 5.2.12 Previous Comments: ------------------------------------------------------------------------ [2009-02-04 20:44:55] greg at pwsdb dot com Tenative Conclusion: php has already loaded and defined everything. pear should not be re-loading or re-defining anything. this is the conflict. [the possibility of any exception(s) is the source of the conflict] ------------------------------------------------------------------------ [2009-02-04 17:31:51] greg at pwsdb dot com system notes: zencart Version 1.3.8a Server OS: Linux 2.6.18-53.1.14.el5.centos.plus HTTP Server: Apache/2.2.3 (CentOS) PHP Version: 5.1.6 (Zend: 2.1.0) ------------------------------------------------------------------------ [2009-02-04 17:22:29] greg at pwsdb dot com PPS I now remember a few months ago I added code to a pgm I had written to access another $_POST variable. I also moved the call to my program (in includes/modules/pages/checkout_confirmation/header_php.php) down past some error checking. I immediately started getting "Fatal error:" messages about things being defined twice throughout many (untouched) zc pgms.: i 'undid' things but could not stop it until I had changed all the require() calls to require_once() Fatal error: Cannot redeclare class order in /.../includes/classes/order.php on line 1018 Fatal error: Cannot redeclare class shipping in /.../includes/classes/shipping.php on line 178 Fatal error: Cannot redeclare class order_total in /.../includes/classes/order_total.php on line 232 Fatal error: Cannot redeclare class payment in /.../includes/classes/payment.php on line 255 Fatal error: Cannot redeclare class cc_validation in /.../includes/classes/cc_validation.php on line 184 and more. again, it has to be "php vs. pear" (?) this was in "PHP Version 5.1.6". From the comments above, it must still be in Ver. 5.2.4 ------------------------------------------------------------------------ [2009-02-04 05:22:00] greg at pwsdb dot com PPS no, it is not working in the login page now, either. Same experience as the others above?: "First it works, then it doesn't." ------------------------------------------------------------------------ [2009-02-04 03:46:35] greg at pwsdb dot com PS This only happened within a checkout page of ZenCart ("part 3 of 3") and not another (not the login page) ... I don't know enough about zc to know what the significant difference is. ------------------------------------------------------------------------ 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/18590 -- Edit this bug report at http://bugs.php.net/?id=18590&edit=1