A possible fix would be to change all occurences of E_ERROR to E_WARNING 
in the dl() code. That way you can always do recovery of this failure. 
A patch is attached which I will commit if nobody objects (with a good 
reason :).

Derick

On 13 Oct 2002 [EMAIL PROTECTED] wrote:

> From:             [EMAIL PROTECTED]
> Operating system: NT4
> PHP version:      4.2.1
> PHP Bug Type:     Scripting Engine problem
> Bug description:  @dl() causes script to exit
> 
> Ok, so dl() doesn't yet work on windows and that's fine, but it should
> still be possible to call dl() on that platform and have no ill effects
> when suppressed with @. However, whilst the resultant error message is
> suppressed, script execution terminates. Suppression of other errors from
> dl() on Unix works as expected.
> 
> Sniper: the following script will reproduce the problem.
> 
> <? @dl('bug'); echo 'gub'; ?>
> 
> -- 
> Edit bug report at http://bugs.php.net/?id=19885&edit=1
> -- 
> Try a CVS snapshot:         http://bugs.php.net/fix.php?id=19885&r=trysnapshot
> Fixed in CVS:               http://bugs.php.net/fix.php?id=19885&r=fixedcvs
> Fixed in release:           http://bugs.php.net/fix.php?id=19885&r=alreadyfixed
> Need backtrace:             http://bugs.php.net/fix.php?id=19885&r=needtrace
> Try newer version:          http://bugs.php.net/fix.php?id=19885&r=oldversion
> Not developer issue:        http://bugs.php.net/fix.php?id=19885&r=support
> Expected behavior:          http://bugs.php.net/fix.php?id=19885&r=notwrong
> Not enough info:            http://bugs.php.net/fix.php?id=19885&r=notenoughinfo
> Submitted twice:            http://bugs.php.net/fix.php?id=19885&r=submittedtwice
> register_globals:           http://bugs.php.net/fix.php?id=19885&r=globals
> PHP 3 support discontinued: http://bugs.php.net/fix.php?id=19885&r=php3
> Daylight Savings:           http://bugs.php.net/fix.php?id=19885&r=dst
> IIS Stability:              http://bugs.php.net/fix.php?id=19885&r=isapi
> 

--

---------------------------------------------------------------------------
 Derick Rethans                                   http://derickrethans.nl/ 
 JDI Media Solutions                               http://www.jdimedia.nl/
---------------------------------------------------------------------------
Index: ext/standard/dl.c
===================================================================
RCS file: /repository/php4/ext/standard/dl.c,v
retrieving revision 1.73
diff -u -r1.73 dl.c
--- ext/standard/dl.c   5 Sep 2002 21:12:55 -0000       1.73
+++ ext/standard/dl.c   13 Oct 2002 10:36:51 -0000
@@ -66,7 +66,8 @@
 
 #ifdef ZTS
        if ((strcmp(sapi_module.name, "cgi")!=0) && (strcmp(sapi_module.name, 
"cli")!=0)) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Not supported in 
multithreaded Web servers - use extension statements in your php.ini");
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Not supported in 
+multithreaded Web servers - use extension statements in your php.ini");
+               RETURN_FALSE;
        }
 #endif
 
@@ -78,9 +79,9 @@
        convert_to_string_ex(file);
 
        if (!PG(enable_dl)) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Dynamically loaded 
extentions aren't enabled");
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Dynamically loaded 
+extentions aren't enabled");
        } else if (PG(safe_mode)) {
-               php_error_docref(NULL TSRMLS_CC, E_ERROR, "Dynamically loaded 
extensions aren't allowed when running in Safe Mode");
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Dynamically loaded 
+extensions aren't allowed when running in Safe Mode");
        } else {
                php_dl(*file, MODULE_TEMPORARY, return_value TSRMLS_CC);
                EG(full_tables_cleanup) = 1;
-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to