20. Illuminate\View\Engines\CompilerEngine handleViewException
…/­vendor/­laravel/­framework/­src/­Illuminate/­View/­Engines/­PhpEngine.php41
19. ErrorException
…/­app/­storage/­views/­12c75cc7936a08dbf69cef27bb71535d21
18. Illuminate\Exception\Handler handleError
…/­app/­storage/­views/­12c75cc7936a08dbf69cef27bb71535d21
17. include
…/­vendor/­laravel/­framework/­src/­Illuminate/­View/­Engines/­PhpEngine.php37
16. Illuminate\View\Engines\PhpEngine evaluatePath
…/­vendor/­laravel/­framework/­src/­Illuminate/­View/­Engines/­CompilerEngine.php57
15. Illuminate\View\Engines\CompilerEngine get
…/­vendor/­laravel/­framework/­src/­Illuminate/­View/­View.php140
14. Illuminate\View\View getContents
…/­vendor/­laravel/­framework/­src/­Illuminate/­View/­View.php109
13. Illuminate\View\View renderContents
…/­vendor/­laravel/­framework/­src/­Illuminate/­View/­View.php78
12. Illuminate\View\View render
…/­vendor/­laravel/­framework/­src/­Illuminate/­Http/­Response.php43
11. Illuminate\Http\Response setContent
…/­vendor/­symfony/­http-foundation/­Response.php202
10. Symfony\Component\HttpFoundation\Response __construct
…/­vendor/­laravel/­framework/­src/­Illuminate/­Routing/­Router.php1501
9. Illuminate\Routing\Router prepareResponse
…/­vendor/­laravel/­framework/­src/­Illuminate/­Routing/­Router.php1036
8. Illuminate\Routing\Router dispatchToRoute
…/­vendor/­laravel/­framework/­src/­Illuminate/­Routing/­Router.php1001
7. Illuminate\Routing\Router dispatch
…/­vendor/­laravel/­framework/­src/­Illuminate/­Foundation/­Application.php781
6. Illuminate\Foundation\Application dispatch
…/­vendor/­laravel/­framework/­src/­Illuminate/­Foundation/­Application.php745
5. Illuminate\Foundation\Application handle
…/­vendor/­laravel/­framework/­src/­Illuminate/­Session/­Middleware.php72
4. Illuminate\Session\Middleware handle
…/­vendor/­laravel/­framework/­src/­Illuminate/­Cookie/­Queue.php47
3. Illuminate\Cookie\Queue handle
…/­vendor/­laravel/­framework/­src/­Illuminate/­Cookie/­Guard.php51
2. Illuminate\Cookie\Guard handle
…/­vendor/­stack/­builder/­src/­Stack/­StackedHttpKernel.php23
1. Stack\StackedHttpKernel handle
…/­vendor/­laravel/­framework/­src/­Illuminate/­Foundation/­Application.php641
0. Illuminate\Foundation\Application run
/­home/­forge/­hitoly.com.tw/­public/­index.php68

ErrorException (E_ERROR)

Callstack information; navigate with mouse or keyboard using Ctrl+↑ or Ctrl+↓
Copy-to-clipboard button
Exception message and its type
Code snippet where the error was thrown
Server state information
Application provided context information
ErrorException thrown with message "Trying to get property of non-object (View: /home/forge/hitoly.com.tw/public/private/app/views/tpl04/page/article_detail.blade.php)" Stacktrace: #20 Illuminate\View\Engines\CompilerEngine:handleViewException in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:41 #19 ErrorException in /home/forge/hitoly.com.tw/public/private/app/storage/views/12c75cc7936a08dbf69cef27bb71535d:21 #18 Illuminate\Exception\Handler:handleError in /home/forge/hitoly.com.tw/public/private/app/storage/views/12c75cc7936a08dbf69cef27bb71535d:21 #17 include in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:37 #16 Illuminate\View\Engines\PhpEngine:evaluatePath in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:57 #15 Illuminate\View\Engines\CompilerEngine:get in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/View/View.php:140 #14 Illuminate\View\View:getContents in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/View/View.php:109 #13 Illuminate\View\View:renderContents in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/View/View.php:78 #12 Illuminate\View\View:render in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/Http/Response.php:43 #11 Illuminate\Http\Response:setContent in /home/forge/hitoly.com.tw/public/private/vendor/symfony/http-foundation/Response.php:202 #10 Symfony\Component\HttpFoundation\Response:__construct in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1501 #9 Illuminate\Routing\Router:prepareResponse in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1036 #8 Illuminate\Routing\Router:dispatchToRoute in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1001 #7 Illuminate\Routing\Router:dispatch in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:781 #6 Illuminate\Foundation\Application:dispatch in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:745 #5 Illuminate\Foundation\Application:handle in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/Session/Middleware.php:72 #4 Illuminate\Session\Middleware:handle in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/Cookie/Queue.php:47 #3 Illuminate\Cookie\Queue:handle in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/Cookie/Guard.php:51 #2 Illuminate\Cookie\Guard:handle in /home/forge/hitoly.com.tw/public/private/vendor/stack/builder/src/Stack/StackedHttpKernel.php:23 #1 Stack\StackedHttpKernel:handle in /home/forge/hitoly.com.tw/public/private/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:641 #0 Illuminate\Foundation\Application:run in /home/forge/hitoly.com.tw/public/index.php:68

Trying to get property of non-object (View: /home/forge/hitoly.com.tw/public/private/app/views/tpl04/page/article_detail.blade.php)

		// an exception is thrown. This prevents any partial views from leaking.
		try
		{
			include $__path;
		}
		catch (\Exception $e)
		{
			$this->handleViewException($e, $obLevel);
		}
		catch (\Throwable $e)
        <li><a href="<?php echo url($site_prefix.'index'); ?>">首頁</a></li>
        <?php if(!empty($article_category_name)): ?>
            <li><a href="<?php echo url($site_prefix.'article?category='.$article_category_name); ?>"><?php echo $article_category_name; ?></a></li>
        <?php elseif(!empty($current_model_name)): ?>
            <li><a href="<?php echo url($site_prefix.$current_model); ?>"><?php echo $current_model_name; ?></a></li>
        <?php endif; ?>
        <?php if(!is_null($datas)): ?>
            <li class="active"><?php echo $datas->title; ?></li>
        <?php endif; ?>
    </ol>
Exception message: Trying to get property of non-object
        <li><a href="<?php echo url($site_prefix.'index'); ?>">首頁</a></li>
        <?php if(!empty($article_category_name)): ?>
            <li><a href="<?php echo url($site_prefix.'article?category='.$article_category_name); ?>"><?php echo $article_category_name; ?></a></li>
        <?php elseif(!empty($current_model_name)): ?>
            <li><a href="<?php echo url($site_prefix.$current_model); ?>"><?php echo $current_model_name; ?></a></li>
        <?php endif; ?>
        <?php if(!is_null($datas)): ?>
            <li class="active"><?php echo $datas->title; ?></li>
        <?php endif; ?>
    </ol>
		extract($__data);
 
		// We'll evaluate the contents of the view inside a try/catch block so we can
		// flush out any stray output that might get out before an error occurs or
		// an exception is thrown. This prevents any partial views from leaking.
		try
		{
			include $__path;
		}
		catch (\Exception $e)
		}
 
		$compiled = $this->compiler->getCompiledPath($path);
 
		// Once we have the path to the compiled file, we will evaluate the paths with
		// typical PHP just like any other templates. We also keep a stack of views
		// which have been rendered for right exception messages to be generated.
		$results = $this->evaluatePath($compiled, $data);
 
		array_pop($this->lastCompiled);
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
     *
     * @param  \Closure  $callback
     * @return string
     */
    public function render(Closure $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? $callback($this, $contents) : null;
		}
 
		// If this content implements the "RenderableInterface", then we will call the
		// render method on the object so we will avoid any "__toString" exceptions
		// that might be thrown and have their errors obscured by PHP's handling.
		elseif ($content instanceof RenderableInterface)
		{
			$content = $content->render();
		}
 
     * @param array $headers An array of response headers
     *
     * @throws \InvalidArgumentException When the HTTP status code is not valid
     */
    public function __construct($content = '', $status = 200, $headers = array())
    {
        $this->headers = new ResponseHeaderBag($headers);
        $this->setContent($content);
        $this->setStatusCode($status);
        $this->setProtocolVersion('1.0');
	 * @param  mixed  $response
	 * @return \Illuminate\Http\Response
	 */
	protected function prepareResponse($request, $response)
	{
		if ( ! $response instanceof SymfonyResponse)
		{
			$response = new Response($response);
		}
 
		$response = $this->callRouteBefore($route, $request);
 
		if (is_null($response))
		{
			$response = $route->run($request);
		}
 
		$response = $this->prepareResponse($request, $response);
 
		// After we have a prepared response from the route or filter we will call to
		// If no response was returned from the before filter, we will call the proper
		// route instance to get the response. If no route is found a response will
		// still get returned based on why no routes were found for this request.
		$response = $this->callFilter('before', $request);
 
		if (is_null($response))
		{
			$response = $this->dispatchToRoute($request);
		}
 
		}
 
		if ($this->runningUnitTests() && ! $this['session']->isStarted())
		{
			$this['session']->start();
		}
 
		return $this['router']->dispatch($this->prepareRequest($request));
	}
 
	{
		try
		{
			$this->refreshRequest($request = Request::createFromBase($request));
 
			$this->boot();
 
			return $this->dispatch($request);
		}
		catch (\Exception $e)
		if ($this->sessionConfigured())
		{
			$session = $this->startSession($request);
 
			$request->setSession($session);
		}
 
		$response = $this->app->handle($request, $type, $catch);
 
		// Again, if the session has been configured we will need to close out the session
	 * @param  \Symfony\Component\HttpFoundation\Request  $request
	 * @param  int   $type
	 * @param  bool  $catch
	 * @return \Symfony\Component\HttpFoundation\Response
	 */
	public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
	{
		$response = $this->app->handle($request, $type, $catch);
 
		foreach ($this->cookies->getQueuedCookies() as $cookie)
	 * @param  \Symfony\Component\HttpFoundation\Request  $request
	 * @param  int   $type
	 * @param  bool  $catch
	 * @return \Symfony\Component\HttpFoundation\Response
	 */
	public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
	{
		return $this->encrypt($this->app->handle($this->decrypt($request), $type, $catch));
	}
 
    {
        $this->app = $app;
        $this->middlewares = $middlewares;
    }
 
    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
    {
        return $this->app->handle($request, $type, $catch);
    }
 
	 * @param  \Symfony\Component\HttpFoundation\Request  $request
	 * @return void
	 */
	public function run(SymfonyRequest $request = null)
	{
		$request = $request ?: $this['request'];
 
		$response = with($stack = $this->getStackedClient())->handle($request);
 
		$response->send();
| Once we have the application, we can simply call the run method,
| which will execute the request and send the response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have whipped up for them.
|
*/
 
$app->run();
 
Key Value
category %E5%90%84%E7%95%8C%E7%9A%84%E8%82%AF%E5%AE%9A
empty
empty
empty
empty
Key Value
USER forge
HOME /home/forge
FCGI_ROLE RESPONDER
QUERY_STRING category=%25E5%2590%2584%25E7%2595%258C%25E7%259A%2584%25E8%2582%25AF%25E5%25AE%259A
REQUEST_METHOD GET
CONTENT_TYPE
CONTENT_LENGTH
SCRIPT_FILENAME /home/forge/hitoly.com.tw/public/index.php
SCRIPT_NAME /index.php
REQUEST_URI /article?category=%25E5%2590%2584%25E7%2595%258C%25E7%259A%2584%25E8%2582%25AF%25E5%25AE%259A
DOCUMENT_URI /index.php
DOCUMENT_ROOT /home/forge/hitoly.com.tw/public
SERVER_PROTOCOL HTTP/2.0
GATEWAY_INTERFACE CGI/1.1
SERVER_SOFTWARE nginx/1.22.1
REMOTE_ADDR 3.226.254.255
REMOTE_PORT 35706
SERVER_ADDR 165.22.59.145
SERVER_PORT 443
SERVER_NAME hitoly.com.tw
HTTPS on
REDIRECT_STATUS 200
HTTP_HOST hitoly.com.tw
HTTP_ACCEPT */*
HTTP_USER_AGENT claudebot
HTTP_REFERER https://www.hitoly.com.tw/article?category=%25E5%2590%2584%25E7%2595%258C%25E7%259A%2584%25E8%2582%25AF%25E5%25AE%259A
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1711663906.6694
REQUEST_TIME 1711663906
empty
0. Whoops\Handler\PrettyPageHandler