Как определить ошибку 500 и показать пользовательское сообщение об ошибке - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь импортировать некоторые данные из листа Excel, а затем вставить эти данные в мою базу данных. Я хочу, чтобы пользователь загружал огромное количество записей, скажем, 16000 записей в таблице Excel, и пытался загрузить огромное количество данных. на моем сервере сервер показывает 500 внутренних серверов или серверов для обработки этого запроса в браузере, поэтому мне нужно отловить эту ошибку на стороне php-сервера и показать свое пользовательское сообщение пользователю.

Для этого я пытался поймать это, но это не работает, поэтому, пожалуйста, помогите мне.

<?php
    ini_set('display_errors', 1);

    function import_client()
    {
        try
        {
            //my php code in this i am reading excel
            //sheet data and inserting in my database.
        }
        catch (Exception $e) 
        {
            echo "you are importing huge data
            hence server will not unable to handle this request";
        }
    }
?>

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Поскольку вы используете CodeIgniter, обработку ошибок можно выполнять с помощью встроенной функциональности CI, описанной Здесь, в руководстве пользователя CI

При этом обработка ошибок должна быть последним уровнемдолжным образом закодированных приложений для всех случаев, которые не были явно обнаружены при использовании метода try-catching или других методологий.Вы должны, по крайней мере в своей среде разработки, попытаться воспроизвести ошибку с включенным полным ведением журнала и отчетами об ошибках и попытаться выяснить, как предотвратить ошибку (а не просто обработать ее, когда она возникает).

Многие вещи приходят на ум, даже если вы не предоставляете много данных.Если ошибка 5xx запускается из-за очень длительного времени обработки, вы можете разделить загруженный лист на куски и обработать его партиями.Возможно, ваша база данных работает, и в этом случае вы можете столкнуться с проблемами спецификации сервера или даже со многими вычислениями индекса при каждой вставке.Сам лист может содержать что-то, что мешает вашим вставкам (например, нарушая определения таблиц / полей).

Вы пытались определить причину ошибки?

0 голосов
/ 03 января 2019

код ошибки 500 - внутренняя ошибка сервера.это показывает, когда у вас есть ошибка на вашем сервере.после этого он не будет выполнять никаких услуг.так что вы никак не справитесь с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...