X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2FGlobalFunctions.php;h=c67cbd5ca76f83086c3b4121f0b3fac8ac1a1f69;hb=d506171b58c9aa98d5c50274a01b2df369c1a185;hp=ce5f8a3dea63976be372c8c105ee4f95d918f173;hpb=66ce50f591629eb1906f8f7c9f7ee5ed9e731cd0;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php index ce5f8a3dea..c67cbd5ca7 100644 --- a/includes/GlobalFunctions.php +++ b/includes/GlobalFunctions.php @@ -1891,13 +1891,8 @@ function wfReportTime() { /** * Safety wrapper for debug_backtrace(). * - * With Zend Optimizer 3.2.0 loaded, this causes segfaults under somewhat - * murky circumstances, which may be triggered in part by stub objects - * or other fancy talking'. - * - * Will return an empty array if Zend Optimizer is detected or if - * debug_backtrace is disabled, otherwise the output from - * debug_backtrace() (trimmed). + * Will return an empty array if debug_backtrace is disabled, otherwise + * the output from debug_backtrace() (trimmed). * * @param int $limit This parameter can be used to limit the number of stack frames returned * @@ -1906,19 +1901,10 @@ function wfReportTime() { function wfDebugBacktrace( $limit = 0 ) { static $disabled = null; - if ( extension_loaded( 'Zend Optimizer' ) ) { - wfDebug( "Zend Optimizer detected; skipping debug_backtrace for safety.\n" ); - return array(); - } - if ( is_null( $disabled ) ) { - $disabled = false; - $functions = explode( ',', ini_get( 'disable_functions' ) ); - $functions = array_map( 'trim', $functions ); - $functions = array_map( 'strtolower', $functions ); - if ( in_array( 'debug_backtrace', $functions ) ) { - wfDebug( "debug_backtrace is in disabled_functions\n" ); - $disabled = true; + $disabled = !function_exists( 'debug_backtrace' ); + if ( $disabled ) { + wfDebug( "debug_backtrace() is disabled\n" ); } } if ( $disabled ) { @@ -2818,18 +2804,14 @@ function wfEscapeShellArg( /*...*/ ) { function wfShellExecDisabled() { static $disabled = null; if ( is_null( $disabled ) ) { - $disabled = false; if ( wfIniGetBool( 'safe_mode' ) ) { wfDebug( "wfShellExec can't run in safe_mode, PHP's exec functions are too broken.\n" ); $disabled = 'safemode'; + } elseif ( !function_exists( 'proc_open' ) ) { + wfDebug( "proc_open() is disabled\n" ); + $disabled = 'disabled'; } else { - $functions = explode( ',', ini_get( 'disable_functions' ) ); - $functions = array_map( 'trim', $functions ); - $functions = array_map( 'strtolower', $functions ); - if ( in_array( 'proc_open', $functions ) ) { - wfDebug( "proc_open is in disabled_functions\n" ); - $disabled = 'disabled'; - } + $disabled = false; } } return $disabled; @@ -2891,7 +2873,7 @@ function wfShellExec( $cmd, &$retval = null, $environ = array(), $cmd = $envcmd . $cmd; $useLogPipe = false; - if ( php_uname( 's' ) == 'Linux' ) { + if ( is_executable( '/bin/bash' ) ) { $time = intval ( isset( $limits['time'] ) ? $limits['time'] : $wgMaxShellTime ); if ( isset( $limits['walltime'] ) ) { $wallTime = intval( $limits['walltime'] );