本文整理汇总了PHP中Debugger::enabled方法的典型用法代码示例。如果您正苦于以下问题:PHP Debugger::enabled方法的具体用法?PHP Debugger::enabled怎么用?PHP Debugger::enabled使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Debugger
的用法示例。
在下文中一共展示了Debugger::enabled方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: implode
return implode("\n", $html);
}
static function getLoggingTabPane($requestId, $request)
{
$html = array();
$html[] = '<div class="tab-pane" id="debug-request-' . $requestId . '-logging">';
$html[] = '<br/><pre>';
foreach ($request['log'] as $log) {
$html[] = htmlspecialchars($log) . "\n";
}
$html[] = '</pre>';
$html[] = '</div>';
return implode("\n", $html);
}
}
Debugger::$enabled = false;
// Start the session
Session::start();
?>
<!DOCTYPE html>
<html>
<head>
<base href="<?php
echo Router::getBaseUrl();
?>
">
<title>MindaPHP Debugger</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="debugger/img/favicon.ico">
<!-- Bootstrap -->
示例2: enable
public static function enable($mode = NULL, $logDirectory = NULL, $email = NULL)
{
error_reporting(E_ALL | E_STRICT);
if (is_bool($mode)) {
self::$productionMode = $mode;
} elseif (is_string($mode)) {
$mode = preg_split('#[,\\s]+#', "{$mode} 127.0.0.1 ::1");
}
if (is_array($mode)) {
self::$productionMode = !isset($_SERVER['REMOTE_ADDR']) || !in_array($_SERVER['REMOTE_ADDR'], $mode, TRUE);
}
if (self::$productionMode === self::DETECT) {
if (class_exists('Environment')) {
self::$productionMode = Environment::isProduction();
} elseif (isset($_SERVER['SERVER_ADDR']) || isset($_SERVER['LOCAL_ADDR'])) {
$addrs = array();
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$addrs = preg_split('#,\\s*#', $_SERVER['HTTP_X_FORWARDED_FOR']);
}
if (isset($_SERVER['REMOTE_ADDR'])) {
$addrs[] = $_SERVER['REMOTE_ADDR'];
}
$addrs[] = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : $_SERVER['LOCAL_ADDR'];
self::$productionMode = FALSE;
foreach ($addrs as $addr) {
$oct = explode('.', $addr);
if ($addr !== '::1' && (count($oct) !== 4 || $oct[0] !== '10' && $oct[0] !== '127' && ($oct[0] !== '172' || $oct[1] < 16 || $oct[1] > 31) && ($oct[0] !== '169' || $oct[1] !== '254') && ($oct[0] !== '192' || $oct[1] !== '168'))) {
self::$productionMode = TRUE;
break;
}
}
} else {
self::$productionMode = !self::$consoleMode;
}
}
if (is_string($logDirectory)) {
self::$logDirectory = realpath($logDirectory);
if (self::$logDirectory === FALSE) {
throw new DirectoryNotFoundException("Directory '{$logDirectory}' is not found.");
}
} elseif ($logDirectory === FALSE) {
self::$logDirectory = FALSE;
} else {
self::$logDirectory = defined('APP_DIR') ? APP_DIR . '/../log' : getcwd() . '/log';
}
if (self::$logDirectory) {
ini_set('error_log', self::$logDirectory . '/php_error.log');
}
if (function_exists('ini_set')) {
ini_set('display_errors', !self::$productionMode);
ini_set('html_errors', FALSE);
ini_set('log_errors', FALSE);
} elseif (ini_get('display_errors') != !self::$productionMode && ini_get('display_errors') !== (self::$productionMode ? 'stderr' : 'stdout')) {
throw new NotSupportedException('Function ini_set() must be enabled.');
}
if ($email) {
if (!is_string($email)) {
throw new InvalidArgumentException('Email address must be a string.');
}
self::$email = $email;
}
if (!defined('E_DEPRECATED')) {
define('E_DEPRECATED', 8192);
}
if (!defined('E_USER_DEPRECATED')) {
define('E_USER_DEPRECATED', 16384);
}
if (!self::$enabled) {
register_shutdown_function(array(__CLASS__, '_shutdownHandler'));
set_exception_handler(array(__CLASS__, '_exceptionHandler'));
set_error_handler(array(__CLASS__, '_errorHandler'));
self::$enabled = TRUE;
}
}
示例3: _exceptionHandler
/**
* Handler to catch uncaught exception.
* @param Exception
* @return void
* @internal
*/
public static function _exceptionHandler(Exception $exception)
{
if (!headers_sent()) {
// for PHP < 5.2.4
$protocol = isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.1';
header($protocol . ' 500', TRUE, 500);
}
try {
if (self::$productionMode) {
try {
self::log($exception, self::ERROR);
} catch (Exception $e) {
echo 'FATAL ERROR: unable to log error';
}
if (self::$consoleMode) {
echo "ERROR: the server encountered an internal error and was unable to complete your request.\n";
} elseif (self::isHtmlMode()) {
require dirname(__FILE__) . '/templates/error.phtml';
}
} else {
if (self::$consoleMode) {
// dump to console
echo "{$exception}\n";
if ($file = self::log($exception)) {
echo "(stored in {$file})\n";
if (self::$browser) {
exec(self::$browser . ' ' . escapeshellarg($file));
}
}
} elseif (self::isHtmlMode()) {
// dump to browser
self::$blueScreen->render($exception);
if (self::$bar) {
self::$bar->render();
}
} elseif (!self::fireLog($exception, self::ERROR)) {
// AJAX or non-HTML mode
$file = self::log($exception);
if (!headers_sent()) {
header("X-Nette-Error-Log: {$file}");
}
}
}
foreach (self::$onFatalError as $handler) {
call_user_func($handler, $exception);
}
} catch (Exception $e) {
if (self::$productionMode) {
echo self::isHtmlMode() ? '<meta name=robots content=noindex>FATAL ERROR' : 'FATAL ERROR';
} else {
echo "FATAL ERROR: thrown ", get_class($e), ': ', $e->getMessage(), "\nwhile processing ", get_class($exception), ': ', $exception->getMessage(), "\n";
}
}
self::$enabled = FALSE;
// un-register shutdown function
exit(255);
}
示例4: setMode
/**
* Static public method to set dubugger mode.
*
* @param boolean $mode
*/
static public function setMode($mode = false)
{
self::$enabled = $mode;
}
示例5: init
/**
* Initialisize Config
*
* @static
*/
public static function init()
{
Debugger::$_config = Kohana::$config->load('debugger');
Debugger::$enabled = Debugger::$_config->enabled;
}