title: Laravel 5.6 HTTP 500 error without any logging
body: <p>I'm trying to deploy a Laravel 5.6 application on a shared hosting package. This package uses DirectAdmin with PHP 7.2.</p>
  
  <p>Because of other applications living in sub directories in the <code>public_html</code> directory, I'm forced to also host the application in a subdirectory.</p>
  
  <p>After some doing some research to hosting a Laravel application in a subdirectory, my setup looks like this:</p>
  
  <pre><code>- domains
     - example.com
         - public_html
           - laravel
           - otherapp
           - other_site
         - laravel_code
  </code></pre>
  
  <p>The <code>laravel</code> folder inside the <code>public_html</code> folder has the same files as every <code>public</code> folder in a Laravel application. This means the files <code>index.php</code>, <code>.htaccess</code>, etc...</p>
  
  <p>The <code>laravel_code</code> folder directory consists of the source code of my application. I know I had to refer my <code>index.php</code> to this folder. I done that like this:</p>
  
  <pre><code>&lt;?php
  
  /**
   * Laravel - A PHP Framework For Web Artisans
   *
   * @package  Laravel
   * @author   Taylor Otwell &lt;taylor@laravel.com&gt;
   */
  
  define('LARAVEL_START', microtime(true));
  
  /*
  |--------------------------------------------------------------------------
  | Register The Auto Loader
  |--------------------------------------------------------------------------
  |
  | Composer provides a convenient, automatically generated class loader for
  | our application. We just need to utilize it! We'll simply require it
  | into the script here so that we don't have to worry about manual
  | loading any of our classes later on. It feels great to relax.
  |
  */
  
  require __DIR__ . '/../../laravel_code/vendor/autoload.php';
  
  
  /*
  |--------------------------------------------------------------------------
  | Turn On The Lights
  |--------------------------------------------------------------------------
  |
  | We need to illuminate PHP development, so let us turn on the lights.
  | This bootstraps the framework and gets it ready for use, then it
  | will load up this application so that we can run it and send
  | the responses back to the browser and delight our users.
  |
  */
  
  $app = require_once __DIR__ . '/../../laravel_code/bootstrap/app.php';
  
  /*
  |--------------------------------------------------------------------------
  | Run The Application
  |--------------------------------------------------------------------------
  |
  | Once we have the application, we can handle the incoming request
  | through the kernel, and send the associated response back to
  | the client's browser allowing them to enjoy the creative
  | and wonderful application we have prepared for them.
  |
  */
  
  $kernel = $app-&gt;make(Illuminate\Contracts\Http\Kernel::class);
  
  $response = $kernel-&gt;handle(
      $request = Illuminate\Http\Request::capture()
  );
  
  $response-&gt;send();
  
  $kernel-&gt;terminate($request, $response);
  </code></pre>
  
  <p>My <code>.htaccess</code> file looks like this:</p>
  
  <pre><code>&lt;IfModule mod_rewrite.c&gt;
      &lt;IfModule mod_negotiation.c&gt;
          Options -MultiViews -Indexes
      &lt;/IfModule&gt;
  
      RewriteEngine On
      RewriteBase /
  
      # Handle Authorization Header
      RewriteCond %{HTTP:Authorization} .
      RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  
      # Redirect Trailing Slashes If Not A Folder...
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_URI} (.+)/$
      RewriteRule ^ %1 [L,R=301]
  
      # Handle Front Controller...
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^ index.php [L]
  &lt;/IfModule&gt;
  </code></pre>
  
  <p>When trying to navigate to the domain, I only get an HTTP 500 error page, without any log files being generated in my <code>storage/logs</code>folder.</p>
  
  <p>I already tried clearing my cache and caching my config over again. I'm also sure my database credentials are working.</p>
  
  <p>My <code>.env</code> file looks like this:</p>
  
  <pre><code>APP_NAME=WBS
  APP_ENV=local
  APP_KEY=base64:knjh2YEuePhEzBblBp5zLJQOQEwaiRBOSkmxz1gcYGw=
  APP_DEBUG=true
  APP_URL=http://www.example.com/laravel/
  
  LOG_CHANNEL=stack
  
  DB_CONNECTION=mysql
  DB_HOST=localhost
  DB_PORT=3306
  DB_DATABASE=mydomain
  DB_USERNAME=root
  DB_PASSWORD=
  
  BROADCAST_DRIVER=log
  CACHE_DRIVER=file
  SESSION_DRIVER=file
  SESSION_LIFETIME=120
  QUEUE_DRIVER=sync
  
  REDIS_HOST=127.0.0.1
  REDIS_PASSWORD=null
  REDIS_PORT=6379
  
  
  PUSHER_APP_ID=
  PUSHER_APP_KEY=
  PUSHER_APP_SECRET=
  PUSHER_APP_CLUSTER=mt1
  
  MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
  MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
  </code></pre>
  
  <p>The files also have the proper permissions, I gave all the files the <code>755</code> permission for testing.</p>
  
  <p>What could cause this HTTP 500 error and how can I fix it?</p>