Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Debug] Wrap call to require_once in a try/catch #31535

Merged
merged 1 commit into from May 18, 2019

Commits on May 18, 2019

  1. [Debug] Wrap call to require_once in a try/catch

    If the included file contains an error, it hides the real error. This
    makes debugging harder.
    
    How to reproduce:
    
    ```
    composer create-project symfony/skeleton symfony-3.4 3.4
    cd symfony-3.4
    composer req monolog
    ```
    
    Add to `monolog.yaml`:
    ```yaml
            elasticsearch:
                type: "elasticsearch"
                elasticsearch:
                    host: 'elasticsearch'
                    port: '9200'
                index: 'ep_php_logs_dev'
                level: 'debug'
                tags: 'monolog.logger'
                channels: ['!event']
    ```
    
    This will fail because the the \Elastica\Client class does not exist.
    But this error will be hidden by the `ClassNotFoundFatalErrorHandler`
    because it will try to load the `Symfony\Component\Kernel\Client` and
    this class extends `Symfony\Component\BrowserKit\Client`. The last one
    is a soft dependency...
    
    ---
    
    Before
    ```
    Fatal error: Uncaught Error: Class 'Symfony\Component\BrowserKit\Client' not found in /tmp/symfony-3.4/vendor/symfony/http-kernel/Client.php:31
    ```
    
    After:
    ```
    Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "Client" from namespace "Elastica".
    Did you forget a "use" statement for another namespace? in /tmp/symfony-es/var/cache/dev/ContainerWXN4mS9/srcApp_KernelDevDebugContainer.php:303
    ```
    lyrixx committed May 18, 2019
    Copy the full SHA
    afb6e1e View commit details
    Browse the repository at this point in the history