#42584 [Bgs]: mssql functions trigger errors twice

From: Date: Sat, 04 Oct 2008 07:58:04 +0000
Subject: #42584 [Bgs]: mssql functions trigger errors twice
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-129450@lists.php.net to get a copy of this message
ID: 42584 User updated by: miracle dot rpz at gmail dot com Reported By: miracle dot rpz at gmail dot com Status: Bogus Bug Type: MSSQL related Operating System: * PHP Version: 5.2.4 New Comment: Please read my previous comment. Read it again. Link to server exists! Previous Comments: ------------------------------------------------------------------------ [2008-10-04 03:46:23] kalle@php.net This is bogus, because mssql_select_db() throws two warnings: 1) Because it cannot connect 2) Function cannot be used because no link has been made to a server Change the error_handler() function to this and it will expose it: function error_handler($errno, $error) { echo $error, PHP_EOL; } mssql_select_db(): Unable to connect to server: (null) mssql_select_db(): A link to the server could not be established ------------------------------------------------------------------------ [2007-09-07 11:48:42] miracle dot rpz at gmail dot com Yes, this actual result from cli. Throw mod_php this code output "hello" three times, but fopen('nonexisten.file','r'); #trigger error handler only once. <?php function error_handler() { die ('Hello World'.PHP_EOL); } set_error_handler('error_handler'); mssql_connect('correct','mssql','dsn'); #connect successfull mssql_select_db('NONEXISTEN'); # trigger_error ?> after output 'Hello world' - program hung-up (mod_php & cli) ------------------------------------------------------------------------ [2007-09-07 11:05:54] jani@php.net Are you running the script on command line? (as there it's perfectly normal to get all errors twice..) ------------------------------------------------------------------------ [2007-09-07 08:17:04] miracle dot rpz at gmail dot com Description: ------------ mssql_functions trigger errors twice. It causes program hang-up if error_handler contains exit-functions Reproduce code: --------------- <?php function error_handler() { print ('Hello World'.PHP_EOL); } set_error_handler('error_handler'); mssql_select_db('NONEXISTEN'); #or any mssql_* func ?> Expected result: ---------------- Hello World Actual result: -------------- Hello World Hello World ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=42584&edit=1

« previous php.bugs (#129450) next »