<?php
if (defined('HHVM_VERSION')) {
exit('*HHVM skipped*');
}
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
if ($errno == E_NOTICE && in_array($errstr, array(
'Undefined variable: undefined',
'Undefined variable: undefined',
), true)) {
echo "\n";
echo "Caught a Notice: Undefined variable: undefined in $errfile on line $errline\n";
return true;
}
if ($errno == E_WARNING && in_array($errstr, array(
'reset() expects parameter 1 to be array, null given',
'reset(): Passed variable is not an array or object',
'reset() [http://www.php.net/function.reset]: Passed variable is not an array or object',
), true)) {
echo "\n";
echo "(caught the warning about null not being an array in $errfile on line $errline)\n";
return true;
}
return false;
}
set_error_handler('myErrorHandler');
// The following line will not emit a notice, because reset() takes its parameter by reference
reset($undefined);
Fatal error: Uncaught TypeError: reset(): Argument #1 ($array) must be of type array, null given in /in/7jpXG:34
Stack trace:
#0 /in/7jpXG(34): reset(NULL)
#1 {main}
thrown in /in/7jpXG on line 34
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Fatal error: Uncaught TypeError: reset(): Argument #1 ($array) must be of type array, null given in /in/7jpXG:34
Stack trace:
#0 /in/7jpXG(34): reset(NULL)
#1 {main}
thrown in /in/7jpXG on line 34
Process exited with code 255.