PHP 7.3 не создает / запись в файл журнала ошибок - PullRequest
0 голосов
/ 27 февраля 2019

Я только что обновился до PHP 7.3 (с использованием XAMPP) и по какой-то причине кажется, что он не записывает ошибки в указанный файл журнала.

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

В моем php.ini у меня есть:

error_reporting = E_ALL
display_errors=On
display_startup_errors=On
log_errors=On
log_errors_max_len = 2048
ignore_repeated_errors=Off
ignore_repeated_source=Off
report_memleaks=On
report_memleaks=On
html_errors=On
error_log="C:\xampp\php\logs\php_error_log"

Редактировать: Я только сегодня заметил, что файл был создан недавно, и там были другие ошибки (сгенерированные из-за проблем в php.iniсам по себе, например, устарелые настройки для track_errors), но все еще не регистрируется ничего о проблемах, вызванных самими страницами.

Редактировать 2: Я специально создал отдельный скрипт для генерации ошибоки они, кажется, не логируются нормально, так что я не уверен, как эти другие не регистрируются.

Почему я не получаю сообщения об ошибках со страниц?

Ответы [ 2 ]

0 голосов
/ 12 марта 2019

Пожалуйста, попробуйте это

   <?php
    // Send error message to the server log if error connecting to the database
    if (!mysqli_connect("localhost","bad_user","bad_password","my_db")) {
        error_log("Failed to connect to database!", 0);
    }

    // Send email to administrator if we run out of FOO
    if (!($foo = allocate_new_foo())) {
        error_log("Oh no! We are out of FOOs!", 1, "admin@example.com");
    }
    ?>

Определение и использование

Функция error_log () отправляет сообщение об ошибке в журнал, в файл или на почтовую учетную запись.

Синтаксис

error_log (сообщение, тип, место назначения, заголовки);

**> Требуется сообщение с описанием параметра.Указывает сообщение об ошибке для

тип журнала Необязательно.Указывает, куда должно идти сообщение об ошибке.

Возможные значения: 0 - по умолчанию.Сообщение отправляется в системный регистратор PHP,

с использованием механизма системного журналирования ОС или файла, в зависимости от того, что

, в файле php.ini установлена ​​конфигурация error_log 1 - Сообщение отправлено

по электронной почте на адрес в параметре адресата 2 - Больше не используется

(доступно только в PHP 3) 3 - Сообщение добавляется в файл

, указанный в пункте назначения4 - Сообщение отправляется непосредственно в пункт назначения обработчика журналов SAPI

Необязательно.Указывает место назначения сообщения об ошибке

.Это значение зависит от значения параметра типа

headers Необязательно.Используется только в том случае, если для параметра типа установлено значение 1.

Указывает дополнительные заголовки, такие как From, Cc и Bcc.Несколько заголовков

должны быть разделены с помощью CRLF (\ r \ n) Технические подробности Возврат

Значение: TRUE в случае успеха или FALSE в случае ошибки Версия PHP: 4.0+ PHP

История изменений: PHP 5.2.7: значение 4 было добавлено к параметру типа **

0 голосов
/ 07 марта 2019

Вам необходимо создать папку logs on , убедитесь, что ваш XAMPP установлен на C: \

C: \ xampp \ php \

Затем перезапустите Apache в XAMPP и попробуйте создать фатальную ошибку с помощью

trigger_error("Some info",E_USER_ERROR);
...