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

Опис на основните php.ini директиви

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

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

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

ini.core.php

Опис на јадрото php.ini directives

Оваа листа ги вклучува основните php.ini директиви што можете да ги поставите за да ја конфигурирате вашата PHP поставка. Директивите обработени од екстензии се наведени и детално опишани на соодветните страници со документација за екстензии; Информации за директивите за сесии, на пример, може да се најдат на страницата за сесии.

Забелешка:

Поставките што се прикажани овде се користат кога php.ini не е вчитан; вредностите за продукција и развој php.ini може да варираат.

Опции за јазик

Опции за конфигурација на јазик и други
Име Стандардно Променливо Дневник на промени
short_open_tag "1" INI_PERDIR    
precision "14" INI_ALL    
serialize_precision "-1" INI_ALL Пред PHP 7.1.0, стандардната вредност беше 17.
disable_functions "" INI_SYSTEM only    
disable_classes "" php.ini only    
exit_on_timeout "" INI_ALL    
expose_php "1" php.ini only    
hard_timeout "2" INI_SYSTEM Достапно од PHP 7.1.0.
zend.exception_ignore_args "0" INI_ALL Достапно од PHP 7.4.0
zend.multibyte "0" INI_ALL    
zend.script_encoding NULL INI_ALL    
zend.detect_unicode NULL INI_ALL    
zend.signal_check "0" INI_SYSTEM    
zend.assertions "1" INI_ALL со ограничувања    
zend.exception_string_param_max_len "15" INI_ALL Достапно од PHP 8.0.0.

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

short_open_tag bool

Му кажува на PHP дали кратката форма (<? ?>) на PHP ознаката за отворање треба да биде дозволена. Ако сакате да користите PHP во комбинација со XML, можете да ја оневозможите оваа опција за да користите <?xml ?> вградено. Инаку, можете да го испечатите со PHP, на пример: <?php echo '<?xml version="1.0"?>'; ?>. Исто така, ако е оневозможено, мора да ја користите долгата форма на PHP ознаката за отворање (<?php ?>).

Забелешка:

Оваа директива не влијае на кратенката <?=, која е секогаш достапна.

precision int
Бројот на значајни цифри прикажани во броеви со подвижна запирка. -1 значи дека ќе се користи подобрен алгоритам за заокружување на таквите броеви.
serialize_precision int
Бројот на значајни цифри зачувани при серијализација на броеви со подвижна запирка. -1 значи дека ќе се користи подобрен алгоритам за заокружување на таквите броеви.
expose_php bool

Го открива на светот дека PHP е инсталиран на серверот, што го вклучува и верзијата на PHP во HTTP заглавието (на пр. X-Powered-By: PHP/5.3.7).

disable_functions string
Оваа директива дозволува одредени функции да бидат оневозможени. Таа прифаќа список на имиња на функции одделени со запирки. Од PHP 8.0.0, оневозможувањето на функција ја отстранува нејзината дефиниција, дозволувајќи му на корисникот да ја дефинира повторно. Пред PHP 8.0.0, оневозможувањето на функција само спречуваше повикување на функцијата. Компатибилност внатрешни функции може да бидат оневозможени со оваа директива. Кориснички дефинирани функции се недопрени. Оваа директива мора да биде поставена во php.ini. Не може да биде поставена во httpd.conf.
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Оваа директива може да биде заобиколена и не треба да се смета за доволна мерка за безбедност за средини за споделен хостинг.

disable_classes string

Оваа директива дозволува одредени класи да бидат оневозможени. Таа прифаќа список на имиња на класи одделени со запирки. Оневозможувањето на класа само спречува инстанцирање на класата.

Само внатрешни класи може да бидат оневозможени со оваа директива. Кориснички дефинираните класи се недопрени.

Оваа директива мора да биде поставена во php.ini. Не може да биде поставена во httpd.conf.
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Оваа директива може да биде заобиколена и не треба да се смета за доволна мерка за безбедност за средини за споделен хостинг.

zend.assertions int
Кога е поставено на 1, кодот за тврдења ќе биде генериран и извршен (режим за развој). Кога е поставено на 0, кодот за тврдења ќе биде генериран, но ќе биде прескокнат (неизвршен) при извршување. Кога е поставено на -1, кодот за тврдења нема да биде генериран, правејќи ги тврдењата нула-трошок (режим за производство).

Забелешка:

Ако процес е започнат во режим за производство, zend.assertions не може да се промени при извршување, бидејќи кодот за тврдења не беше генериран.

Ако процесот е започнат во режим на развој, zend.assertions Ако процесот е започнат во режим на развој, -1 не може да се постави на

zend.exception_string_param_max_len int
при извршување. "0" and "1000000".
hard_timeout int

Максимална должина на аргументите на низата во низи од траги на стек. Мора да биде помеѓу max_execution_time Кога времето на чекање поставено во

е достигнато, PHP runtime ќе ги уништи ресурсите грациозно. Ако нешто заглави додека ова се случува, тврдото време на чекање ќе отчукува за поставениот број на секунди. Кога ќе се достигне тврдото време на чекање, PHP ќе излезе неграциозно. Кога е поставено на 0, тврдото време на чекање никогаш нема да се активира.

Fatal error: Maximum execution time of 30+2 seconds exceeded (terminated) in Unknown on line 0
zend.exception_ignore_args bool

Кога PHP ќе престане од тврдо време на чекање, ќе изгледа нешто вака:

zend.multibyte bool

Исклучува аргументи од трагите на стек генерирани од исклучоци.

Овозможува парсирање на изворни датотеки во мултибајтни кодови. Овозможувањето zend.multibyte е потребно за користење на кодови на знаци како SJIS, BIG5, итн. кои содржат специјални знаци во мултибајтни податоци од низи. Кодови компатибилни со ISO-8859-1 како UTF-8, EUC, итн. не бараат оваа опција.

zend.script_encoding string

Овозможувањето zend.multibyte бара екстензијата mbstring да биде достапна. Оваа вредност ќе се користи освен ако директивата не се појави на врвот на скриптата. Кога се користи кодирање некомпатибилно со ISO-8859-1, мора да се користат и zend.multibyte и zend.script_encoding.

Буквалните низи ќе бидат транслитерирани од zend.script_encoding до mbstring.internal_encoding, како да mb_convert_encoding() било повикано.

zend.detect_unicode bool

Проверува за BOM (Byte Order Mark) и гледа дали датотеката содржи валидни мултибајтни знаци. Ова откривање се врши пред обработката на __halt_compiler(). Достапно само во Zend Multibyte режим.

zend.signal_check bool

За проверка на заменети ракувачи на сигнали при исклучување.

exit_on_timeout bool

Ова е директива само за Apache1 mod_php која го принудува Apache детето да излезе ако се случило време на чекање на извршување на PHP. Таквото време на чекање предизвикува внатрешен повик longjmp() во Apache1 што може да остави некои екстензии во некохерентна состојба. Со прекинување на процесот, сите заостанати заклучувања или меморија ќе бидат исчистени.

Ограничувања на ресурси

Ограничувања на ресурси
Име Стандардно Променливо Дневник на промени
memory_limit "128M" INI_ALL    

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

memory_limit int

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

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

. Достапно само под CLI SAPI. max_execution_time.

Оптимизација на перформансите

Оптимизација на перформансите
Име Стандардно Променливо Дневник на промени
realpath_cache_size "4M" INI_SYSTEM Пред PHP 7.0.16 и 7.1.2, стандардното беше "16K"
realpath_cache_ttl "120" INI_SYSTEM    

Забелешка:

Пронајдете и отворете ја конфигурациската датотека на Apache. Стандардно, локацијата е како што следува: open_basedir will disable realpath кешот.

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

realpath_cache_size int

Ја одредува големината на realpath кешот што ќе го користи PHP. Оваа вредност треба да се зголеми на системи каде PHP отвора многу датотеки, за да се одрази количината на извршени операции со датотеки.

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

Потребната големина за податоците од записот во кешот зависи од системот.

realpath_cache_ttl int

Времетраење (во секунди) за кое ќе се кешираат realpath информациите за дадена датотека или директориум. За системи со ретко менувачки датотеки, размислете за зголемување на вредноста.

Ракување со податоци

Опции за конфигурација за ракување со податоци
Име Стандардно Променливо Дневник на промени
arg_separator.output "&" INI_ALL    
arg_separator.input "&" INI_PERDIR    
variables_order "EGPCS" INI_PERDIR    
request_order "" INI_PERDIR    
auto_globals_jit "1" INI_PERDIR    
register_argc_argv "1" INI_PERDIR    
enable_post_data_reading "1" INI_PERDIR    
post_max_size "8M" INI_PERDIR    
auto_prepend_file NULL INI_PERDIR    
auto_append_file NULL INI_PERDIR    
default_mimetype "text/html" INI_ALL    
default_charset "UTF-8" INI_ALL    
input_encoding "" INI_ALL    
output_encoding "" INI_ALL    
internal_encoding "" INI_ALL    

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

arg_separator.output string

Сепараторот што се користи во URL-ите генерирани од PHP за одвојување на аргументи.

arg_separator.input string

Список на сепаратор(и) што ги користи PHP за парсирање на влезните URL-и во променливи.

Забелешка:

Секој карактер во оваа директива се смета како разделувач!

variables_order string

Го поставува редоследот на EGPCS (Eнвиронмент, Gет, Pост, Cуки, и Sпарсирање на променливите. На пример, ако variables_order е поставено на "SP" тогаш PHP ќе го креира superglobals $_SERVER and $_POST, но нема да го креира $_ENV, $_GETПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во $_COOKIE. Поставувањето на "" значи дека нема superglobals ќе биде поставено.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

И во CGI и во FastCGI SAPIs, $_SERVER исто така се пополнува со вредности од околината; S секогаш е еквивалентно на ES без оглед на поставувањето на E на друго место во оваа директива.

Забелешка:

Содржината и редоследот на $_REQUEST исто така се засегнати од оваа директива.

request_order string

Оваа директива го опишува редоследот по кој PHP ги регистрира GET, POST и Cookie променливите во _REQUEST низата. Регистрацијата се врши од лево надесно, новите вредности ги надминуваат постарите вредности.

Ако оваа директива не е поставена, variables_order се користи за $_REQUEST contents.

Имајте предвид дека стандардната дистрибуција php.ini датотеките не содржат 'C' за колачиња, поради безбедносни причини.

auto_globals_jit bool

Кога е овозможено, променливите SERVER, REQUEST и ENV се креираат кога првпат ќе се користат (Just In Time) наместо кога скриптата започнува. Ако овие променливи не се користат во скрипта, оваа директива ќе резултира со подобрување на перформансите.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Употребата на променливите SERVER, REQUEST и ENV се проверува за време на компилацијата, така што нивното користење преку на пр. (низа) нема да предизвика нивна иницијализација.

register_argc_argv bool
Му кажува на PHP дали да ги декларира променливите argv & argc (кои би содржеле информации за GET). Види исто така командна линија.
enable_post_data_reading bool
Оневозможувањето на оваа опција предизвикува $_POST and $_FILES not да се пополни. Единствениот начин за читање на postdata тогаш ќе биде преку php://input stream wrapper. Ова може да биде корисно за проксирање барања или за обработка на POST податоци на начин што е ефикасен во однос на меморијата.
post_max_size int
Поставува максимална големина на POST податоци. Оваа поставка влијае и на прикачувањето датотеки. За прикачување големи датотеки, оваа вредност мора да биде поголема од upload_max_filesize. Генерално, гледано, memory_limit треба да биде поголемо од post_max_size. Кога еден int се користи, вредноста се мери во бајти. Кратенка нотација, како што е опишано во овој ЧПП, исто така може да се користи. Ако големината на POST податоците е поголема од post_max_size, на $_POST and $_FILES superglobals се празни. Ова може да се следи на различни начини, на пр. со поминување на $_GET променлива на скриптата што ги обработува податоците, т.е. <form action="edit.php?processed=1">, и потоа проверување дали $_GET['processed'] е поставено.

Забелешка:

PHP дозволува кратенки за бајт вредности, вклучувајќи K (кило), M (мега) и G (гига). PHP автоматски ќе ги направи конверзиите ако користите некоја од нив. Внимавајте да не го надминете лимитот од 32-битен потпишан цел број (ако користите 32-битни верзии) бидејќи тоа ќе предизвика неуспех на вашата скрипта.

Дневник на промени за post_max_size
Верзија = NULL
5.3.4 post_max_size = 0 нема да го оневозможи лимитот кога типот на содржината е application/x-www-form-urlencoded или не е регистриран со PHP.
5.3.2 , 5.2.12 Дозволете неограничена големина на објава со поставување post_max_size на 0.
auto_prepend_file string

Ја специфицира името на датотека што автоматски се парсира пред главната датотека. Датотеката се вклучува како да била повикана со require функцијата, така што include_path се користи.

Специјалната вредност none ја оневозможува автоматската претходна вклучување.

auto_append_file string

Ја специфицира името на датотека што автоматски се парсира по главната датотека. Датотеката се вклучува како да била повикана со require функцијата, така што include_path се користи.

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

Забелешка: Ако скриптата заврши со exit(), автоматското завршно вклучување ќе not occur.

default_mimetype string

Стандардно, PHP ќе прикаже медиумски тип користејќи го заглавието Content-Type. За да го оневозможите ова, едноставно поставете го на празно.

Вградениот стандарден медиумски тип на PHP е поставен на text/html.

default_charset string

"UTF-8" е стандардната вредност и нејзината вредност се користи како стандардно кодирање на знаци за htmlentities(), html_entity_decode() and htmlspecialchars() ако encoding параметарот е изоставен. Вредноста на default_charset исто така ќе се користи за поставување на стандардниот сет на знаци за iconv опциите за конфигурација се непоставени, и за iconv.input_encoding, iconv.output_encoding and iconv.internal_encoding опцијата за конфигурација е непоставена. mbstring опциите за конфигурација се непоставени, и за mbstring.http_input mbstring.http_output mbstring.internal_encoding Сите верзии на PHP ќе ја користат оваа вредност како сет на знаци во стандардното заглавие Content-Type испратено од PHP ако заглавието не е препишано со повик до

Сите верзии на PHP ќе ја користат оваа вредност како charset во стандардниот Content-Type заглавие испратено од PHP ако заглавието не е префрлено со повик до header().

Поставување default_charset на празна вредност не се препорачува.

input_encoding string

Оваа поставка се користи за модули со повеќе бајти како mbstring и iconv. Стандардно е празно.

output_encoding string

Оваа поставка се користи за модули со повеќе бајти како mbstring и iconv. Стандардно е празно.

internal_encoding string

Оваа поставка се користи за модули со повеќе бајти како mbstring и iconv. Стандардно е празно. Ако е празно, default_charset се користи.

Патеки и директориуми

Опции за конфигурација на патеки и директориуми
Име Стандардно Променливо Дневник на промени
include_path ".;/path/to/php/pear" INI_ALL    
open_basedir NULL INI_ALL    
doc_root NULL INI_SYSTEM    
user_dir NULL INI_SYSTEM    
user_ini.cache_ttl "300" INI_SYSTEM    
user_ini.filename ".user.ini" INI_SYSTEM    
extension_dir "/path/to/php" INI_SYSTEM    
extension NULL php.ini only    
zend_extension NULL php.ini only    
cgi.check_shebang_line "1" INI_SYSTEM    
cgi.discard_path "0" INI_SYSTEM    
cgi.fix_pathinfo "1" INI_SYSTEM    
cgi.force_redirect "1" INI_SYSTEM    
cgi.nph "0" INI_SYSTEM    
cgi.redirect_status_env NULL INI_SYSTEM    
cgi.rfc2616_headers "0" INI_ALL    
fastcgi.impersonate "0" INI_SYSTEM    
fastcgi.logging "1" INI_SYSTEM    

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

include_path string

Наведува список на директориуми каде што require, include, fopen(), file(), readfile() and file_get_contents() функциите бараат датотеки. Форматот е сличен на системскиот PATH променлива на опкружувањето: список на директориуми одделени со двоеточие во Unix или точка и запирка во Windows.

PHP ги смета сите записи во патеката за вклучување одделно при барање датотеки за вклучување. Ќе ја провери првата патека, и ако не ја најде, ќе ја провери следната патека, додека не ја лоцира вклучената датотека или не врати со E_WARNING или E_ERROR. Можете да ја измените или поставите вашата патека за вклучување во време на извршување користејќи set_include_path().

Пример #1 Unix include_path

include_path=".:/php/includes"

Пример #2 Windows include_path

include_path=".;c:\php\includes"

Не сите аргументи треба да бидат промовирани. Можно е да се мешаат промовирани и непромовирани аргументи, во која било нарачка. Промовираните аргументи немаат влијание врз кодот што го повикува конструкторот. . во патеката за вклучување овозможува релативни вклучувања бидејќи значи тековната директорија. Сепак, поефикасно е експлицитно да се користи include './file' отколку PHP секогаш да ја проверува тековната директорија за секое вклучување.

Забелешка:

ENV променливите се исто така достапни во .ini датотеките. Како такви, можно е да се повика домашната директорија користејќи ${LOGIN} and ${USER}.

Променливите на околината може да варираат помеѓу Server API бидејќи тие средини може да се разликуваат.

Example #3 Unix include_path using ${USER} env variable

include_path = ".:${USER}/pear/php"
open_basedir string

Променливите на околината може да се разликуваат помеѓу серверските API-ња бидејќи тие средини може да се различни.

Ограничете ги датотеките до кои може да пристапи PHP до наведеното дрво на директориуми, вклучувајќи ја и самата датотека. include, или fopen()Кога скрипта се обидува да пристапи до датотечниот систем, на пример користејќи open_basedir.

open_basedir , локацијата на датотеката се проверува. Кога датотеката е надвор од наведеното дрво на директориуми, PHP ќе одбие да пристапи до неа. Сите симболични врски се решаваат, така што не е можно да се избегне ова ограничување со симболична врска. Ако датотеката не постои, тогаш симболичната врска не можеше да се реши и името на датотеката се споредува со (решена) MySQL може да влијае на повеќе од само функциите на датотечниот систем; на пример, ако mysqlnd е конфигуриран да користи LOAD DATA INFILE драјвери, open_basedirќе биде засегнат од open_basedir . Голем дел од проширената функционалност на PHP користи

Специјалната вредност . на овој начин. chdir().

индицира дека работната директорија на скриптата ќе се користи како основна директорија. Ова е, сепак, малку опасно бидејќи работната директорија на скриптата може лесно да се промени со httpd.conf, open_basedir Во може да се исклучи (на пр. за некои виртуелни хостови) на ист начинphp_admin_value open_basedir none".

како и секој друг конфигурациски директив со " open_basedir Под Windows, одделете ги директориумите со точка-запирка. На сите други системи, одделете ги директориумите со двоеточие. Како модул на Apache,

патеките од родителските директориуми сега автоматски се наследуваат. open_basedir Ограничувањето специфицирано со

е име на директориум, а не префикс.

Забелешка: open_basedir може да се заостри во текот на извршувањето. Ова значи дека ако open_basedir е поставен на /www/ in php.ini скрипта може да ја заостри конфигурацијата на /www/tmp/ во текот на извршувањето со ini_set(). Кога се наведуваат неколку директориуми, можете да го користите PATH_SEPARATOR константа како разделувач без оглед на оперативниот систем. Од PHP 8.3.0, open_basedir веќе не прифаќа патеки што содржат родителска директорија (..) кога е поставено во текот на извршувањето со користење на ini_set().

Забелешка:

Користењето на open_basedir ќе го постави realpath_cache_size to 0 и затоа disable realpath кешот.

Безбедност: стандардниот сет на знаци

open_basedir е само дополнителна мрежа за безбедност, која во никој случај не е сеопфатна и затоа не може да се потпре на неа кога е потребна безбедност.

doc_root string

„корен директориум“ на PHP на серверот. Се користи само ако не е празно. Ако PHP не е компајлиран со FORCE_REDIRECT, вие should поставете doc_root ако го извршувате PHP како CGI под кој било веб-сервер (освен IIS). Алтернативата е да се користи cgi.force_redirect конфигурацијата подолу.

user_ini.cache_ttl int

user_ini.filename string

user_dir string

Основното име на директориумот што се користи во домашната директорија на корисникот за PHP датотеки, на пример public_html .

extension_dir string

Во кој директориум PHP треба да бара динамички вчитувачки екстензии. Се препорачува да се специфицира апсолутна патека. Погледнете исто така: enable_dlПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во dl().

extension string

Кои динамички вчитувачки екстензии да се вчитаат кога PHP стартува.

zend_extension string

Име на динамички вчитувачка Zend екстензија (на пример XDebug) што треба да се вчита кога PHP стартува.

cgi.check_shebang_line bool

Контролира дали CGI PHP проверува за редови што почнуваат со #! (shebang) на врвот на скриптата што се извршува. Оваа линија можеби ќе биде потребна ако скриптата поддржува извршување и како самостојна скрипта и преку PHP CGI. PHP во CGI режим ја прескокнува оваа линија и ја игнорира нејзината содржина ако овој директив е вклучен.

cgi.discard_path bool

Ако ова е овозможено, PHP CGI бинарниот може безбедно да се постави надвор од веб дрвото и луѓето нема да можат да ја заобиколат .htaccess безбедноста.

cgi.fix_pathinfo bool

Обезбедува real PATH_INFO/ PATH_TRANSLATED поддршка за CGI. Претходното однесување на PHP беше да се постави PATH_TRANSLATED to SCRIPT_FILENAME, и да не разбира што PATH_INFO е. За повеќе информации за PATH_INFO, видете го CGI спецификации. Поставувањето на ова на 1 ќе предизвика PHP CGI да ги поправи своите патеки за да се усогласи со спецификацијата. Поставката нула предизвикува PHP да се однесува како порано. Вклучено е стандардно. Треба да ги поправите вашите скрипти за да користите SCRIPT_FILENAME отколку PATH_TRANSLATED.

cgi.force_redirect bool

cgi.force_redirect е неопходен за обезбедување безбедност при стартување на PHP како CGI под повеќето веб-сервери. Ако остане недефинирано, PHP го вклучува ова стандардно. Можете да го исклучите на ваш сопствен ризик.

Забелешка:

Корисници на Windows: Кога го користите IIS, оваа опција must може да се исклучи. Истото важи и за OmniHTTPD или Xitami.

cgi.nph bool

Ако cgi.nph е овозможено, ќе го присили cgi секогаш да испраќа Статус: 200 со секое барање.

cgi.redirect_status_env string

Ако cgi.force_redirect е вклучено, а не работите под веб-сервери Apache или Netscape (iPlanet), вие may треба да се постави име на променлива на опкружувањето што PHP ќе ја бара за да знае дека е во ред да се продолжи со извршување.

Забелешка:

Поставување на оваа променлива may предизвика безбедносни проблеми, прво знајте што правите.

cgi.rfc2616_headers bool

Му кажува на PHP каков тип на заглавија да користи при испраќање на HTTP код за одговор. Ако е оневозможено, PHP испраќа » RFC 3875 "Status:" заглавие што е поддржано од Apache и други веб-сервери. Кога оваа опција е овозможена, PHP ќе испрати » RFC 2616 усогласени заглавија.

Ако оваа опција е овозможена и работите со PHP во CGI опкружување (на пр. PHP-FPM), не треба да користите стандардни HTTP заглавија за статус одговор во стилот на RFC 2616, наместо тоа треба да ги користите нивните еквиваленти од RFC 3875, на пр. наместо header("HTTP/1.0 404 Not found"); треба да користите header("Status: 404 Not Found");

Оставете го оневозможено освен ако не знаете што правите.

fastcgi.impersonate bool

FastCGI под IIS (на оперативен систем базиран на WINNT) ја поддржува можноста за имитирање на безбедносни токени на повикувачкиот клиент. Ова му овозможува на IIS да го дефинира безбедносниот контекст под кој се извршува барањето. mod_fastcgi под Apache моментално не ја поддржува оваа функција (17.03.2002) Овозможете ако работите под IIS. Стандардно е оневозможено.

fastcgi.logging bool

Вклучува SAPI логирање при користење на FastCGI. Стандардно е да се овозможи логирање.

Подигнување датотеки

Опции за конфигурација на подигнување датотеки
Име Стандардно Променливо Дневник на промени
file_uploads "1" INI_SYSTEM    
upload_tmp_dir NULL INI_SYSTEM    
max_input_nesting_level 64 INI_PERDIR    
max_input_vars 1000 INI_PERDIR    
upload_max_filesize "2M" INI_PERDIR    
max_file_uploads 20 INI_PERDIR    

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

file_uploads bool

Дали да се дозволат HTTP подигнувања на датотеки. Погледнете исто така upload_max_filesize, upload_tmp_dirПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во post_max_size directives.

upload_tmp_dir string

Привремената директориум што се користи за складирање датотеки при подигнување датотеки. Мора да биде запишлив од корисникот под кој работи PHP. Ако не е наведен, PHP ќе го користи системскиот стандард.

Ако директориумот наведен овде не може да се запише, PHP се враќа на системската стандардна привремена директорија. Ако open_basedir е вклучено, тогаш системската стандардна директорија мора да биде дозволена за да успее поставувањето.

upload_max_filesize int

Максималната големина на поставена датотека.

post_max_size мора да биде поголема од оваа вредност.

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

Максималниот број на датотеки што може да се постават истовремено. Полетата за поставување оставени празни при поднесување не се бројат кон ова ограничување.

Општ SQL

Опции за конфигурација на општ SQL
Име Стандардно Променливо Дневник на промени
sql.safe_mode "0" INI_SYSTEM Отстрането од PHP 7.2.0

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

sql.safe_mode bool

Ако е вклучено, функциите за поврзување со базата на податоци што специфицираат стандардни вредности ќе ги користат тие вредности наместо какви било аргументи дадени од корисникот. За детали за стандардните вредности, видете ја документацијата за релевантните функции за поврзување.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Претходната порака за грешка REMOVED од PHP 7.2.0.

Специфично за Windows

Опции за конфигурација специфични за Windows
Име Стандардно Променливо Дневник на промени
windows.show_crt_warning "0" INI_ALL    

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

windows.show_crt_warning bool

Оваа директива ги прикажува предупредувањата на Windows CRT кога е овозможено.

Белешки од корисници 6 белешки

luisdev
пред 6 години
https://haydenjames.io/understanding-php-memory_limit/ explains the memory_limit setting nicely.
Симоне Пелегата
пред 5 години
Be careful while using auto_prepend_file.

When the custom exception handler, set by set_exception_handler(), handles an uncaught exception, it interrupts the execution of every script.

If the script with the unhandled exception has been automatically prepended or included by an automatically prepended script, however, the main script will continue running anyway.

This could cause several issues: when we think that throwing an exception would automatically interrupt the current application, a whole chunk of code is going to run anyway.
leo на korfu dot cz
19 години пред
"If the size of post data is greater than post_max_size..."

It seems that a more elegant way is comparison between post_max_size and $_SERVER['CONTENT_LENGTH']. Please note that the latter includes not only size of uploaded file plus post data but also multipart sequences. Leo
diamondeagle на webmail dot co dot za
пред 6 години
Note regarding the upload_tmp_dir setting and UNC Paths:

When using PHP on Windows OS and IIS FastCGI, if you need to use a UNC path to a folder on a network drive for the upload_tmp_dir setting then you must use three \ characters at the front of the UNC path. 

Windows and PHP use the first slash as an escape character, so if you only use two slashes then it passes a UNC path with just one backslash. That is not valid for UNC paths and you many experience problems when uploading files, such as errors saying that "PHP is missing a temporary folder".

Correct:
upload_tmp_dir = "\\\path\to\your\folder"

Incorrect:
upload_tmp_dir = "\\path\to\your\folder"
fernandobasso dot br на gmail dot com
пред 9 години
This might help in case someone happens to maintain old applications with a charset other than utf-8.

According to the docs, you can override the default charset if you use `header()`.

Suppose php.ini sets the default_charset to "UTF-8", but you need a legacy charset, like ISO-8859-1.

Still,

<?php header('Content-Type: text/html; Charset=ISO-8859-1'); ?>

would not override the charset, just add it as well and the result
was a response header like (note the two charsets):

    Content-Type:"text/html; Charset=ISO-8859-1;charset=UTF-8"

I found it strange the default one as `charset` with a lowercase `c`
as opposed to my custom charset with an uppercase `C`.

What solved was to _override_ the charset using all lowercase letters
as well for the word “charset”:

<?php header('content-type: text/html; charset=ISO-8859-1'); ?>

Then, the double charset from the response headers disappeared, and only the single, custom charset remained.
gcb@
пред 1 година
you get a misleading error if a directory doesn't exist or the user lacks permission to access it.

open_basedir restriction in effect. File(/tmp/php_session) is not within the allowed path(s): /tmp/php_session
На оваа страница

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

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

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

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

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