Интересно, как я могу увидеть синтаксические ошибки, подобные этому (отсутствующая точка с запятой):
<?php var_dump($app) ?>
Это вызовет WSOD (белый экран смерти).
Я попытался включить конфигурационный файл отладки, который выглядит так:
use Symfony\Component\Debug\ErrorHandler; use Symfony\Component\Debug\Debug; // Include the prod configuration require __DIR__.'/prod.php'; // Enable PHP Error level error_reporting(E_ALL); ini_set('display_errors','On'); // Enable debug mode $app['debug'] = true; // Handle fatal errors ErrorHandler::register(); Debug::enable();
Я включил в композитор json файл:
«symfony / debug»: «~ 2.3»,
Но все равно никаких изменений. Что я забыл?
Попробуй это:
use Symfony\Component\HttpKernel\Debug\ErrorHandler; use Symfony\Component\HttpKernel\Debug\ExceptionHandler; // set the error handling ini_set('display_errors', 1); error_reporting(-1); ErrorHandler::register(); if ('cli' !== php_sapi_name()) { ExceptionHandler::register(); } // init application $app = new Silex\Application(); // set debug mode $app['debug'] = true $app->run();
важно установить обработку ошибок до инициализации приложения $.
Для установки Symfony / debug с использованием composer require symfony/debug
и добавьте эти строки перед экземпляром Silex \ Application
use \Symfony\Component\Debug\ErrorHandler; use \Symfony\Component\Debug\ExceptionHandler; ini_set('display_errors', 0); error_reporting(-1); ErrorHandler::register(); ExceptionHandler::register();