Лучший способ подавить php ошибки на рабочих серверах

   <form id="form" method="post" action="otherpage.php" enctype="multipart/form-data">
    <input type="text" name="first" value="Bob" />
    <input type="text" name="middle" value="James" />
    <input type="text" name="last" value="Smith" />
    <input name="image" type="file" />
    <button type='button' id='submit_btn'>Submit</button>
</form>

<script>
 $(document).on("click","#submit_btn",function(e){  
     //Prevent Instant Click  
    e.preventDefault();
    // Create an FormData object 
        var formData =$("#form").submit(function(e){
            return ;
        });
      //formData[0] contain form data only 
      // You can directly make object via using form id but it require all ajax operation inside $("form").submit(<!-- Ajax Here   -->)
        var formData = new FormData(formData[0]);    
        $.ajax({
            url: $('#form').attr('action'),
            type: 'POST',
            data: formData,
            success: function(response) {console.log(response);},
            contentType: false,
            processData: false,
            cache: false
        });
        return false;
            });
</script>

///// otherpage.php

<?php
print_r($_FILES);
?>
24
задан Mehran 24 December 2014 в 05:57
поделиться

6 ответов

Лучший способ состоит в том, чтобы зарегистрировать Ваши ошибки вместо того, чтобы отобразить или проигнорировать их.

Этот пример зарегистрирует ошибки к системному журналу вместо того, чтобы отобразить их в браузере.

ini_set("display_errors", 0);
ini_set("log_errors", 1);

//Define where do you want the log to go, syslog or a file of your liking with
ini_set("error_log", "syslog"); // or ini_set("error_log", "/path/to/syslog/file");
48
ответ дан Vinko Vrsalovic 28 November 2019 в 23:03
поделиться

Принятие Вас управляет файлом php.ini, можно внести эти изменения глобально в том файле вместо того, чтобы иметь наложение кода ini_set вокруг во всех php файлах (который Вы могли бы забыть вставлять один из своих файлов однажды, которые могли плохо работать).

3
ответ дан grepsedawk 28 November 2019 в 23:03
поделиться

Можно также использовать апачский .htaccess для входа ошибок, не касаясь кода:

<IfModule mod_php5.c>
  php_flag      display_errors  Off
  php_flag      log_errors      On
  php_value     error_log       logs/errors
</IfModule>
1
ответ дан Luis Melgratti 28 November 2019 в 23:03
поделиться

Файлы распределения PHP, к сожалению, отправляют смешанное сообщение о сообщениях ошибки из-за неправильного обращения. Файл php.ini по умолчанию имеет некоторые настройки, подходящие для рабочих серверов и других лучше для серверов разработки. Необходимо включить все ошибки в dev (error_reporting = E_ALL и display_errors = On), и прочь в напоминании (display_errors = off, но точка log_errors где-нибудь). Однако приложите все усилия, чтобы удостовериться, что нет никаких ошибок (или они обрабатываются).

1
ответ дан staticsan 28 November 2019 в 23:03
поделиться

Лучший способ? Зафиксируйте ошибки!

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

-1
ответ дан 28 November 2019 в 23:03
поделиться

установите переменную среды на своей машине разработки. затем можно проверить среду в начале кода удостовериться, что Вы находитесь на среде разработки. затем можно установить уровень сообщения об ошибке PHP, при помощи error_reporting () функция.

if ( isset($_ENV['MY_APP_MODE']) && ($_ENV['MY_APP_MODE'] == 'devel') ) {
    error_reporting(E_ALL);
} else {
    error_reporting(0);
}
2
ответ дан 28 November 2019 в 23:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: