Breaking out of loop with Warning.

php.internals

Ananth Kesari

23 years ago
Hi, I am part of the team that ports PHP onto NetWare. I am having an issue which is like this: I have downloaded the phpMyAdmin application and I am using it without any change both on Linux and NetWare. I have created a database called "test" and a table inside it called "tablea". I then issue the following URL: http://<Server_IP_Address>/phpMyAdmin/tbl_replace.php?lang=en-iso-8859-1&server=1&db=test&table=tablea&goto=tbl_replace.php On Linux, I get the following error message: Warning: Variable passed to reset() is not an array or object in <phpMyAdmin_path>/tbl_replace.php on line 63 Warning: Variable passed to each() is not an array or object in <phpMyAdmin_path>/tbl_replace.php on line 144 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/ob.lib.php on line 65 After this the processing stops. But on NetWare, I get these and more error messages and the processing doesn't stop. It keeps going through the error message loop and then crashes the server. I get: Warning: Variable passed to reset() is not an array or object in <phpMyAdmin_path>/tbl_replace.php on line 63 Warning: Variable passed to each() is not an array or object in <phpMyAdmin_path>/tbl_replace.php on line 144 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/ob.lib.php on line 65 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/header_http.inc.php on line 14 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/header_http.inc.php on line 15 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/header_http.inc.php on line 16 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/header_http.inc.php on line 17 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/header_http.inc.php on line 20 Database test - Table tablea running on localhost Warning: Variable passed to reset() is not an array or object in <phpMyAdmin_path>/tbl_replace.php on line 63 Warning: Variable passed to each() is not an array or object in <phpMyAdmin_path>/tbl_replace.php on line 144 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/ob.lib.php on line 65 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/header_http.inc.php on line 14 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/header_http.inc.php on line 15 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/header_http.inc.php on line 16 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/header_http.inc.php on line 17 Warning: Cannot add header information - headers already sent by (output started at <phpMyAdmin_path>/tbl_replace.php:63) in <phpMyAdmin_path>/libraries/header_http.inc.php on line 20 Database test - Table tablea running on localhost This goes on without stopping and then crashes the server. As you can see, on Linux after a couple of initial error messages, it is coming out of the loop. This is not happening on NetWare. We have used the same code base as that of Linux as far as the error processing is concerned. So, we are wondering what is bailing out of the loop on Linux? Is it a configuration issue? Or a code issue that we may have unknowingly ignored? Please advice. FYI, we have used, error_reporting = E_ALL & ~E_NOTICE in the php.ini file. I deeply appreciate a reply to this. Thanks, Ananth.