Настройка Π²ΠΎ врСмя выполнСния

ПовСдСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ зависит ΠΎΡ‚ установок Π² Ρ„Π°ΠΉΠ»Π΅ php.ini.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ управлСния Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ
Имя По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠœΠ΅ΡΡ‚ΠΎ измСнСния Бписок ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
output_buffering Β«0Β» INI_PERDIR Β 
output_handler null INI_PERDIR Β 
implicit_flush Β«0Β» INI_ALL Β 
url_rewriter.tags Β«form=Β» INI_ALL Начиная с PHP 7.1.0 эта INI-настройка влияСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ output_add_rewrite_var(). Π”ΠΎ PHP 7.1.0 эта INI-настройка Π²ΠΊΠ»ΡŽΡ‡Π°Π»Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° сСанса (смотритС описаниС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ session.trans_sid_tags). Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ .
url_rewriter.hosts $_SERVER['HTTP_HOST'] Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. INI_ALL Доступно с PHP 7.1.0
Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ опрСдСлСния Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² INI_* Π΄Π°Ρ‘Ρ‚ Ρ€Π°Π·Π΄Π΅Π» Β«ΠœΠ΅ΡΡ‚Π° установки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΒ».

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ².

output_buffering bool/integer

Π‘ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ "On" Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹Π²ΠΎΠ΄Π° для всСх Ρ„Π°ΠΉΠ»ΠΎΠ². ВмСсто значСния "On" Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ число β€” количСство Π±Π°ΠΉΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ограничится Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π°: output_buffering=4096.

output_handler string

PHP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° скриптов Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. ΠŸΡ€ΠΈ установкС названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ mb_output_handler() ΠΊΠ°ΠΊ значСния Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ output_handler ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° символов Π²Ρ‹Π²ΠΎΠ΄Π° скрипта ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ прСобразовываСтся Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΠΊΠ°Π·Π°Π»ΠΈ для Π²Ρ‹Π²ΠΎΠ΄Π°. Установка хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° автоматичСски Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ‹Π²ΠΎΠ΄Π°.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

НСльзя ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ функциями mb_output_handler() ΠΈ ob_iconv_handler(), Π° функция ob_gzhandler() ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° zlib.output_compression нСсовмСстимы Π½ΠΈ с ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ списка: с функциями mb_output_handler() ΠΈ ob_gzhandler(), с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ zlib.output_compression, с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ 'URL-Rewriter'. Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ описания Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ session.use_trans_sid ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ output_add_rewrite_var().

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ названия Ρ‚ΠΎΠ»ΡŒΠΊΠΎ встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ob_start().

implicit_flush bool

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” false. ИзмСнСниС значСния Π½Π° true ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ PHP Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±ΡƒΡ„Π΅Ρ€, Π° послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° автоматичСски ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ слой. Π­Ρ‚ΠΎ эквивалСнтно Π²Ρ‹Π·ΠΎΠ²Ρƒ PHP-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ flush() послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, print ΠΈΠ»ΠΈ echo) ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ HTML-Π±Π»ΠΎΠΊΠ°.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ PHP Π² Π²Π΅Π±-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, поэтому настройку Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· CLI SAPI прСдустановлСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Ρ€Π°Π²Π½ΠΎ true.

Π‘ΠΌΠΎΡ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ob_implicit_flush().

url_rewriter.tags string
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° url_rewriter.tags опрСдСляСт HTML-Ρ‚Π΅Π³ΠΈ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… URL-адрСса ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ значСниями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ output_add_rewrite_var(). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” Β«form=Β». Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ значСния Β«form=Β» ΠΈΠ»ΠΈ любого Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹ (form) Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ скрытый элСмСнт input ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ (form), с Π°Ρ€Ρ‚ΠΈΠ±ΡƒΡ‚ΠΎΠΌ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ имя-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ output_add_rewrite_var().
ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π΅Ρ€Π΅ΠΆΠ΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈ пСрСзаписи URL-адрСсов обработаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅, Ссли Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ url_rewriter.tags ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚Π΅Π³ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π°.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π”ΠΎ PHP 7.1.0 список HTML-Ρ‚Π΅Π³ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ опрСдСляСт Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° session.trans_sid_tags, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ url_rewriter.tags.

url_rewriter.hosts string
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° url_rewriter.hosts ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ хосты ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Π½ΠΈΡ… значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ output_add_rewrite_var(). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ $_SERVER['HTTP_HOST']. Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ нСсколько хостов, пСрСчислив ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². НапримСр, Β«php.net,wiki.php.net,bugs.php.netΒ».
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 1 note

up
6
support at losalgendesign dot com ΒΆ
12 years ago
Using "OFF" or no value on output_buffering will disable header modifications, like redirects or content-type or content-disposition resulting in the error we commonly attribute to output before header modifications:

Warning: Cannot modify header information - headers already sent by (output started at C:\PATH\filename.php:1) C:\PATH\filename.php on line 1

Example code with output_buffering = OFF which results in this behavior.  Changing it to "ON" or giving it a value will likely cause normal behavior.

<?php header("Location: http://www.php.net"); ?>

or

<?php header("Content-Type: text/Calendar"); ?>
<?php header("Content-Disposition: inline; filename=appointment.ics"); ?>