46 lines
1.5 KiB
PHP
46 lines
1.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @file
|
|
* The PHP page that serves all page requests on a Drupal installation.
|
|
*
|
|
* All Drupal code is released under the GNU General Public License.
|
|
* See COPYRIGHT.txt and LICENSE.txt files in the "core" directory.
|
|
*/
|
|
|
|
use Drupal\Core\DrupalKernel;
|
|
use Drupal\Core\Site\Settings;
|
|
use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
|
|
use Symfony\Component\HttpFoundation\Request;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
$autoloader = require_once __DIR__ . '/core/vendor/autoload.php';
|
|
|
|
try {
|
|
|
|
$request = Request::createFromGlobals();
|
|
$kernel = DrupalKernel::createFromRequest($request, $autoloader, 'prod');
|
|
$response = $kernel
|
|
->handle($request)
|
|
// Handle the response object.
|
|
->prepare($request)->send();
|
|
$kernel->terminate($request, $response);
|
|
}
|
|
catch (HttpExceptionInterface $e) {
|
|
$response = new Response('', $e->getStatusCode());
|
|
$response->prepare($request)->send();
|
|
}
|
|
catch (Exception $e) {
|
|
$message = 'If you have just changed code (for example deployed a new module or moved an existing one) read <a href="http://drupal.org/documentation/rebuild">http://drupal.org/documentation/rebuild</a>';
|
|
if (Settings::get('rebuild_access', FALSE)) {
|
|
$rebuild_path = $GLOBALS['base_url'] . '/rebuild.php';
|
|
$message .= " or run the <a href=\"$rebuild_path\">rebuild script</a>";
|
|
}
|
|
|
|
// Set the response code manually. Otherwise, this response will default to a
|
|
// 200.
|
|
http_response_code(500);
|
|
print $message;
|
|
throw $e;
|
|
}
|