Whoops \ Exception \ ErrorException (E_WARNING)
Undefined variable $month Whoops\Exception\ErrorException thrown with message "Undefined variable $month" Stacktrace: #5 Whoops\Exception\ErrorException in /var/www/technexus/src/Controllers/Blog.php:87 #4 Whoops\Run:handleError in /var/www/technexus/src/Controllers/Blog.php:87 #3 technexus\Controllers\Blog:handle in /var/www/technexus/src/Controllers/Main.php:47 #2 technexus\Controllers\Main:handle in /var/www/technexus/src/App.php:123 #1 technexus\App:handleRequest in /var/www/technexus/bootstrap/router.php:10 #0 require in /var/www/technexus/public/index.php:4
Stack frames (6)
5
Whoops\Exception\ErrorException
/src/Controllers/Blog.php87
4
Whoops\Run handleError
/src/Controllers/Blog.php87
3
technexus\Controllers\Blog handle
/src/Controllers/Main.php47
2
technexus\Controllers\Main handle
/src/App.php123
1
technexus\App handleRequest
/bootstrap/router.php10
0
require
/public/index.php4
/var/www/technexus/src/Controllers/Blog.php
                }
                // month of posts
                if (ctype_digit($this->peekPath()) && strlen($this->peekPath()) == 2) {
                    $month = $this->shiftPath();
                }
                // single post
                $permalink = $this->peekPath()?$this->shiftPath():null;
                
                // yearly digest
                if (empty($permalink) && empty($month)) {
                    return $this->year($year);
                }
                
                // monthly digest
                if (empty($permalink)) {
                    return $this->month($year, $month);
                }
                
                // specific single post
                return $this->post($year, $month, $permalink??null);
                
            default:
                return $this->notfound();
        }
    }
 
    /**
     * Gets stuff that goes into the sidebar. All Months with blog posts and tags ordered by the amount of times that tag was used.
     *
     * @link project://views/blog/sidebar.twig
     * @return array
     */
    public function getSidebarData()
    {
        return [
            'Months' => DB::AllRecords(sprintf('SELECT DISTINCT MONTHNAME(`Created`) as `MonthName`,MONTH(`Created`) as `Month`, YEAR(`Created`) as `Year` FROM `%s` ORDER BY `Created` DESC', BlogPost::$tableName)),
            'Tags' => PostTags::getAllbyQuery('SELECT *,COUNT(*) as `Count` FROM `'.PostTags::$tableName.'` GROUP BY `TagID` ORDER BY `Count` DESC'),
        ];
    }
    
Arguments
  1. "Undefined variable $month"
    
/var/www/technexus/src/Controllers/Blog.php
                }
                // month of posts
                if (ctype_digit($this->peekPath()) && strlen($this->peekPath()) == 2) {
                    $month = $this->shiftPath();
                }
                // single post
                $permalink = $this->peekPath()?$this->shiftPath():null;
                
                // yearly digest
                if (empty($permalink) && empty($month)) {
                    return $this->year($year);
                }
                
                // monthly digest
                if (empty($permalink)) {
                    return $this->month($year, $month);
                }
                
                // specific single post
                return $this->post($year, $month, $permalink??null);
                
            default:
                return $this->notfound();
        }
    }
 
    /**
     * Gets stuff that goes into the sidebar. All Months with blog posts and tags ordered by the amount of times that tag was used.
     *
     * @link project://views/blog/sidebar.twig
     * @return array
     */
    public function getSidebarData()
    {
        return [
            'Months' => DB::AllRecords(sprintf('SELECT DISTINCT MONTHNAME(`Created`) as `MonthName`,MONTH(`Created`) as `Month`, YEAR(`Created`) as `Year` FROM `%s` ORDER BY `Created` DESC', BlogPost::$tableName)),
            'Tags' => PostTags::getAllbyQuery('SELECT *,COUNT(*) as `Count` FROM `'.PostTags::$tableName.'` GROUP BY `TagID` ORDER BY `Count` DESC'),
        ];
    }
    
/var/www/technexus/src/Controllers/Main.php
     * @uses Blog::handleRequest()
     * @return void
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        if (file_exists($_SERVER['DOCUMENT_ROOT'].'/site.LOCK')) {
            echo file_get_contents($_SERVER['DOCUMENT_ROOT'].'/down.html');
            exit;
        }
 
        /*
         * This is to make sure any page that loads
         * through Apache's ErrorDocument returns 200
         * instead of 404.
         */
        header('HTTP/1.0 200 OK');
        //header('X-Powered-By: PHP/' . phpversion() . ' Div Framework (http://emr.ge) Henry\'s Revision');
 
        $blog = new Blog();
        return $blog->handle($request);
    }
}
 
/var/www/technexus/src/App.php
                return true;
            }
        }
        return false;
    }
    
    /**
     * Gets difference between process start and now in microseconds.
     *
     * @return void
     */
    public function getLoadTime()
    {
        return (microtime(true)-DIVERGENCE_START);
    }
 
    public function handleRequest()
    {
        $main = new Main();
        $response = $main->handle(ServerRequest::fromGlobals());
        (new Emitter($response))->emit();
    }
}
 
/var/www/technexus/bootstrap/router.php
<?php
/**
 * This file is part of the Divergence package.
 *
 * (c) Henry Paradiz <henry.paradiz@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
$app->handleRequest();
 
/var/www/technexus/public/index.php
<?php
require(__DIR__.'/../bootstrap/autoload.php');
require(__DIR__.'/../bootstrap/app.php');
require(__DIR__.'/../bootstrap/router.php');
 
Arguments
  1. "/var/www/technexus/bootstrap/router.php"
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
USER
"www-data"
HOME
"/var/www"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
HTTP_HOST
"technex.us"
PHP_VALUE
"""
upload_max_filesize = 20M \n
 post_max_size=21M
"""
SCRIPT_FILENAME
"/var/www/technexus/public/index.php"
REDIRECT_STATUS
"200"
SERVER_NAME
"technex.us"
SERVER_PORT
"443"
SERVER_ADDR
"192.241.147.251"
REMOTE_PORT
"20004"
REMOTE_ADDR
"18.118.150.80"
SERVER_SOFTWARE
"nginx/1.18.0"
GATEWAY_INTERFACE
"CGI/1.1"
HTTPS
"on"
REQUEST_SCHEME
"https"
SERVER_PROTOCOL
"HTTP/2.0"
DOCUMENT_ROOT
"/var/www/technexus/public"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/2018/2018/04/login_to_ssh_faster_and_with_greater_security_the_ssh_config_file/"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1714082566.3955
REQUEST_TIME
1714082566
empty
0. Whoops\Handler\PrettyPageHandler