PHP.mk документација

Конфигурација во време на извршување

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

errorfunc.configuration.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека errorfunc.configuration.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Конфигурација во време на извршување

Референца за `errorfunc.configuration.php` со подобрена типографија и навигација.

errorfunc.configuration.php

Конфигурација во време на извршување

Поведението на овие функции е под влијание на поставките во php.ini.

Опции за конфигурација на грешки и евидентирање
Име Стандардно Променливо Дневник на промени
error_reporting NULL INI_ALL    
display_errors "1" INI_ALL    
display_startup_errors "1" INI_ALL Пред PHP 8.0.0, стандардната вредност беше "0".
log_errors "0" INI_ALL    
log_errors_max_len "1024" INI_ALL Немаше ефект од PHP 8.0.0, отстрането од PHP 8.1.0.
ignore_repeated_errors "0" INI_ALL    
ignore_repeated_source "0" INI_ALL    
report_memleaks "1" INI_ALL    
track_errors "0" INI_ALL Осудено од PHP 7.2.0, отстрането од PHP 8.0.0.
html_errors "1" INI_ALL    
xmlrpc_errors "0" INI_SYSTEM    
xmlrpc_error_number "0" INI_ALL    
docref_root "" INI_ALL    
docref_ext "" INI_ALL    
error_prepend_string NULL INI_ALL    
error_append_string NULL INI_ALL    
error_log NULL INI_ALL    
error_log_mode 0o644 INI_ALL Достапно од PHP 8.2.0
syslog.facility "LOG_USER" INI_SYSTEM Достапно од PHP 7.3.0.
syslog.filter "no-ctrl" INI_ALL Достапно од PHP 7.3.0.
syslog.ident "php" INI_SYSTEM Достапно од PHP 7.3.0.
За подетални информации и дефиниции на INI_* режимите, видете го Каде може да се постави поставка за конфигурација.

Еве кратко објаснување на директивите за конфигурација.

error_reporting int

Поставете го нивото на известување за грешки. Параметарот е или цел број што претставува битно поле, или именувани константи. Нивоата и константите за известување за грешки се опишани во Претходно дефинирани константи, и во php.ini. За да го поставите во време на извршување, користете го error_reporting() функцијата. Погледнете исто така display_errors directive.

Стандардната вредност е E_ALL.

Пред PHP 8.0.0, стандардната вредност беше: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED. Ова значи дека дијагностиките од ниво E_NOTICE, E_STRICT and E_DEPRECATED не беа прикажани.

Забелешка: PHP константи надвор од PHP

Користењето PHP константи надвор од PHP, како во httpd.conf, нема да имаат корисно значење, така што во такви случаи int вредностите се потребни. И бидејќи нивоата на грешки ќе се додаваат со текот на времето, максималната вредност (за E_ALL) веројатно ќе се промени. Значи, наместо E_ALL размислете да користите поголема вредност за да ги покриете сите битни полиња од сега па натаму, нумеричка вредност како 2147483647 (вклучува сите грешки, не само E_ALL).

display_errors string

Ова одредува дали грешките треба да се печатат на екранот како дел од излезот или да се скријат од корисникот.

Име (константа) "stderr" ги испраќа грешките до stderr наместо stdout.

Забелешка:

Ова е функција за поддршка на вашиот развој и никогаш не треба да се користи на продукциски системи (на пр. системи поврзани на интернет).

Забелешка:

Иако display_errors може да се постави во време на извршување (со ini_set()), нема да има ефект ако скриптата има фатални грешки. Ова е затоа што посакуваната акција во време на извршување не се извршува.

display_startup_errors bool

Дури и кога display_errors е вклучено, грешките што се случуваат за време на почетната секвенца на PHP не се прикажуваат. Силно се препорачува да се задржи display_startup_errors исклучено, освен за дебагирање.

log_errors bool

Кажува дали пораките за грешки во скриптата треба да се запишуваат во логот за грешки на серверот или error_log. Оваа опција е, значи, специфична за серверот.

Забелешка:

Силно ви се советува да користите запишување грешки наместо прикажување грешки на продукциски веб-сајтови.

log_errors_max_len int

Поставете ја максималната должина на log_errors во бајти. Во error_log информации за изворот. Стандардно е 1024, а 0 значи дека нема да се применува максимална должина. Оваа должина се применува на запишани грешки, прикажани грешки и исто така на $php_errormsg, но не и на експлицитно повикани функции како error_log().

Кога еден int се користи, вредноста се мери во бајти. Кратенка нотација, како што е опишано во овој ЧПП, исто така може да се користи.
ignore_repeated_errors bool

Не запишувај повторени пораки. Повторените грешки мора да се појават во истата датотека на истата линија освен ако ignore_repeated_source не е поставено на точно.

ignore_repeated_source bool

Игнорирај го изворот на пораката при игнорирање на повторени пораки. Кога оваа поставка е Вклучена, нема да запишувате грешки со повторени пораки од различни датотеки или изворни линии.

report_memleaks bool

Ако овој параметар е поставен на Вклучено (стандардно), овој параметар ќе прикаже извештај за протекување на меморијата откриено од менаџерот на меморија на Zend. Овој извештај ќе биде испратен до stderr на Posix платформи. На Windows, ќе биде испратен до дебагерот користејќи OutputDebugString() и може да се прегледа со алатки како » DbgView. Овој параметар има ефект само во дебаг верзија и ако error_reporting вклучува E_WARNING на списокот дозволени.

track_errors bool

Ако е овозможено, последната порака за грешка секогаш ќе биде присутна во променливата $php_errormsg.

html_errors bool

Ако е овозможено, пораките за грешки ќе вклучуваат HTML ознаки. Форматот за HTML грешки создава кликачки пораки кои го насочуваат корисникот на страница која го опишува грешката или функцијата што ја предизвикала грешката. Овие референци се под влијание на docref_root and docref_ext.

Ако е оневозможено, пораката за грешка ќе биде само обичен текст.

xmlrpc_errors bool

Ако е овозможено, се исклучува нормалното известување за грешки и грешките се форматираат како XML-RPC порака за грешка.

xmlrpc_error_number int

Се користи како вредност на XML-RPC faultCode елементот.

docref_root string

Новиот формат на грешки содржи референца до страница која го опишува грешката или функцијата што ја предизвикала грешката. Во случај на рачни страници, можете да го преземете прирачникот на вашиот јазик и да ја поставите оваа ini директива на URL адресата на вашата локална копија. Ако вашата локална копија од прирачникот може да се достигне преку "/manual/" можете едноставно да користите docref_root=/manual/. Дополнително, мора да ја поставите docref_ext за да одговара на екстензиите на датотеките на вашата копија docref_ext=.html. Можно е да се користат надворешни референци. На пример, можете да користите docref_root=http://manual/en/ or docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"

Најчесто сакате вредноста на docref_root да завршува со коса црта "/". Но, видете го вториот пример погоре кој ниту го има ниту му треба.

Забелешка:

Ова е функција за поддршка на вашиот развој бидејќи го олеснува пребарувањето на описот на функцијата. Сепак, никогаш не треба да се користи на продукциски системи (на пр. системи поврзани на интернет).

docref_ext string

Константи за известување за грешки docref_root.

Забелешка:

Вредноста на docref_ext мора да започнува со точка ".".

error_prepend_string string

Низа за прикажување пред порака за грешка. Се користи само кога пораката за грешка се прикажува на екран. Главната цел е да се може да се додаде дополнителен HTML код пред пораката за грешка.

error_append_string string

Низа за прикажување по порака за грешка. Се користи само кога пораката за грешка се прикажува на екран. Главната цел е да се може да се додаде дополнителен HTML код по пораката за грешка.

error_log string

Име на датотеката каде што треба да се запишуваат грешките од скриптата. Датотеката треба да може да се запишува од корисникот на веб-серверот. Ако се користи специјалната вредност syslog се користи, грешките се испраќаат до системскиот логер наместо тоа. На Unix, ова значи syslog(3), а на Windows значи дневникот на настани. Погледнете исто така: syslog(). Ако оваа директива не е поставена, грешките се испраќаат до SAPI логерот за грешки. На пример, тоа е лог за грешки во Apache или stderr во CLI. Погледнете исто така error_log().

error_log_mode int

Режим на датотека за датотеката опишана поставена во error_log.

syslog.facility string

Специфицира каков тип на програма го запишува пораката. Ефективно само ако error_log е поставено на "syslog".

syslog.filter string

Специфицира тип на филтер за филтрирање на запишаните пораки. Дозволените знаци се пропуштаат непроменети; сите други се запишуваат во нивната хексадецимална репрезентација со префикс \x.

  • all – запишаната низа ќе биде поделена по знаците за нов ред, и сите знаци ќе бидат пропуштени непроменети
  • ascii – запишаната низа ќе биде поделена по знаците за нов ред, и сите непечатени 7-битни ASCII знаци ќе бидат избегнати
  • no-ctrl – запишаната низа ќе биде поделена по знаците за нов ред, и сите непечатени знаци ќе бидат избегнати
  • raw – сите знаци се пропуштаат до системскиот логер непроменети, без поделба по нови редови (идентично како PHP пред 7.3)
Оваа поставка ќе влијае на запишувањето преку error_log поставено на "syslog" и повици до syslog().

Забелешка:

На raw типот на филтер е достапен од PHP 7.3.8 и PHP 7.4.0.

Оваа директива не е поддржана на Windows.
syslog.ident string

Ја специфицира ident низата што се додава на секоја порака. Ефективно само ако error_log е поставено на "syslog".

Белешки од корисници 2 забелешки

Го специфицира ident стринг кој се додава на секоја порака. Ефективно само ако
пред 17 години
Using 
<?php ini_set('display_errors', 1); ?> 
at the top of your script will not catch any parse errors. A missing ")" or ";" will still lead to a blank page.

This is because the entire script is parsed before any of it is executed. If you are unable to change php.ini and set

display_errors On

then there is a possible solution suggested under error_reporting:

<?php
 error_reporting(E_ALL);
 ini_set("display_errors", 1);
 include("file_with_errors.php");
?>


[Modified by moderator]

You should also consider setting error_reporting = -1 in your php.ini and display_errors = On if you are in development mode to see all fatal/parse errors or set error_log to your desired file to log errors instead of display_errors in production (this requires log_errors to be turned on).
ohcc на 163 dot com
пред 9 години
If you set the error_log directive to a relative path, it is a path relative to the document root rather than php's containing folder.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.