@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
at recaptime-dev/main 39 lines 1.0 kB view raw
1<?php 2 3/** 4 * This controller eases debugging of application problems that don't repro 5 * locally by allowing installs to add arbitrary debugging code easily. To use 6 * it: 7 * 8 * - Write some diagnostic script. 9 * - Instruct the user to install it in `/support/debug.php`. 10 * - Tell them to visit `/debug/`. 11 */ 12final class PhabricatorDebugController extends PhabricatorController { 13 14 public function shouldRequireLogin() { 15 return false; 16 } 17 18 public function processRequest() { 19 if (!Filesystem::pathExists($this->getDebugFilePath())) { 20 return new Aphront404Response(); 21 } 22 23 $request = $this->getRequest(); 24 $user = $request->getUser(); 25 26 ob_start(); 27 require_once $this->getDebugFilePath(); 28 $out = ob_get_clean(); 29 30 $response = new AphrontWebpageResponse(); 31 $response->setContent(phutil_tag('pre', array(), $out)); 32 return $response; 33 } 34 35 private function getDebugFilePath() { 36 $root = dirname(phutil_get_library_root('phabricator')); 37 return $root.'/support/debug.php'; 38 } 39}