Beispiel #1
0
 /**
  * 开启调试输出
  * @method _initDebug
  * @author NewFuture
  */
 public function _initDebug()
 {
     if (Config::get('isdebug')) {
         /*加载 PHP Console Debug模块*/
         Yaf_Loader::import('PhpConsole/__autoload.php');
         $connector = PhpConsole\Connector::getInstance();
         if ($connector->isActiveClient()) {
             Log::write('PHP Console 已经链接', 'INFO');
             $handler = PhpConsole\Handler::getInstance();
             $dispatcher = $connector->getDebugDispatcher();
             $handler->start();
             $connector->setSourcesBasePath(APP_PATH);
             $connector->setServerEncoding('utf8');
             $dispatcher->detectTraceAndSource = true;
             //跟踪信息
             if ($pwd = Config::get('debug.auth')) {
                 $connector->setPassword($pwd);
                 $evalProvider = $connector->getEvalDispatcher()->getEvalProvider();
                 // $evalProvider->disableFileAccessByOpenBaseDir();             // means disable functions like include(), require(), file_get_contents() & etc
                 // $evalProvider->addSharedVar('uri', $_SERVER['REQUEST_URI']); // so you can access $_SERVER['REQUEST_URI'] just as $uri in terminal
                 // $evalProvider->addSharedVarReference('post', $_POST);
                 $connector->startEvalRequestsListener();
             }
         }
         PhpConsole\Helper::register();
     }
 }
 /**
  * Construct.
  *
  * @since    1.0.0
  */
 public function __construct()
 {
     $this->plugin_name = 'wp-php-console';
     $this->version = '1.3.3';
     $this->options = get_option('wp_php_console');
     // Perform PHP Console initialisation required asap for other code to be able to output to the JavaScript console
     $connector = PhpConsole\Connector::getInstance();
     // Apply 'register' option to PHP Console
     if (!empty($this->options['register'])) {
         if (!class_exists('PC', false)) {
             // only if PC not registered yet
             PhpConsole\Helper::register();
         }
         // PC::debug( 'PC::debug() is available');
     }
     // Apply 'stack' option to PHP Console
     if (!empty($this->options['stack'])) {
         $connector->getDebugDispatcher()->detectTraceAndSource = true;
     }
     // Apply 'short' option to PHP Console
     if (!empty($this->options['short'])) {
         $connector->setSourcesBasePath($_SERVER['DOCUMENT_ROOT']);
     }
     // Initialise WordPress actions
     // Translation
     add_action('plugins_loaded', array($this, 'set_locale'));
     // Admin menu
     add_action('admin_menu', array($this, 'register_settings_page'));
     // Delay further PHP Console initialisation to have more context during Remote PHP execution
     add_action('wp_loaded', array($this, 'init'));
 }
Beispiel #3
0
<?php

require __DIR__ . '/vendor/autoload.php';
// require_once('phar:///home/ubuntu/workspace/Modulo3/PhpConsole.phar'); // autoload will be initialized automatically
require_once 'phar://PhpConsole.phar';
// autoload will be initialized automatically
$connector = PhpConsole\Connector::getInstance();
$handler = PhpConsole\Handler::getInstance();
$handler->start();
// $handler->debug('called from handler debug', 'some.three.tags');
PhpConsole\Helper::register();
// para PC::db y PC::debug
// PC::db((new Tidy)->getConfig(), "Tidy");
function myInit($f, $title = "")
{
    // calling file, optional title
    if ($title == "") {
        $title = basename($f);
    }
    echo '
<DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8">
        <title>' . $title . '</title>
    </head>
<body>
';
    echo "<h3><a href=" . basename($f) . ">{$f}</a></h3>";
    PC::db('Entering ' . $f);
    if ($_GET) {
<?php

require_once __DIR__ . '/../../src/PhpConsole/__autoload.php';
$password = null;
if (!$password) {
    die('Please set $password variable value in ' . __FILE__);
}
$connector = PhpConsole\Helper::register();
if ($connector->isActiveClient()) {
    // Init errors & exceptions handler
    $handler = PC::getHandler();
    $handler->start();
    // start handling PHP errors & exceptions
    $connector->setSourcesBasePath($_SERVER['DOCUMENT_ROOT']);
    // so files paths on client will be shorter (optional)
    $connector->setPassword($password);
    // protect access by password
    // $connector->enableSslOnlyMode(); // PHP Console clients will be always redirected to HTTPS
    // $connector->setAllowedIpMasks(array('192.168.*.*'));
    // Enable eval provider
    $evalProvider = $connector->getEvalDispatcher()->getEvalProvider();
    $evalProvider->disableFileAccessByOpenBaseDir();
    // means disable functions like include(), require(), file_get_contents() & etc
    $evalProvider->addSharedVar('uri', $_SERVER['REQUEST_URI']);
    // so you can access $_SERVER['REQUEST_URI'] just as $uri in terminal
    $evalProvider->addSharedVarReference('post', $_POST);
    /*
     $evalProvider->setOpenBaseDirs(array(__DIR__)); // set directories limited for include(), require(), file_get_contents() & etc
     $evalProvider->addCodeHandler(function(&$code) { // modify or validate code before execution
    		$code = 'return '. $code;
     });
Beispiel #5
0
}
/**
 * Define the start time of the application, used for profiling.
 */
if (!defined('KOHANA_START_TIME')) {
    define('KOHANA_START_TIME', microtime(TRUE));
}
/**
 * Define the memory usage at the start of the application, used for profiling.
 */
if (!defined('KOHANA_START_MEMORY')) {
    define('KOHANA_START_MEMORY', memory_get_usage());
}
// --- PhpConsole --------------------------------------------------------------
require_once APPPATH . 'classes/PhpConsole/require.php';
PhpConsole\Helper::activate(true);
// вкл/выкл дебаг
// --- end PhpConsole ----------------------------------------------------------
// Bootstrap the application
require_once APPPATH . "classes/Module.class.php";
require_once APPPATH . "classes/Resources.class.php";
require APPPATH . 'bootstrap' . EXT;
if (PHP_SAPI == 'cli') {
    class_exists('Minion_Task') or die('Please enable the Minion module for CLI support.');
    set_exception_handler(array('Minion_Exception', 'handler'));
    Minion_Task::factory(Minion_CLI::options())->execute();
} else {
    /**
     * Execute the main request. A source of the URI can be passed, eg: $_SERVER['PATH_INFO'].
     * If no source is specified, the URI will be automatically detected.
     */