Поддршка за Windows
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Поддршка за Windows
Референца за `migration71.windows-support.php` со подобрена типографија и навигација.
Поддршка за Windows
Support for long and UTF-8 path
Поддршка за долги патеки и UTF-8
- internal_encoding
- default_charset
- zend.multibyte
Ако веб-апликацијата е во согласност со UTF-8, не е потребно дополнително дејство. За апликации што зависат од патеки во кодирања што не се UTF-8 за влез/излез, мора да се постави експлицитна INI директива. Проверката на поставките за кодирање INI се потпира на редоследот во јадрото:
- Воведени се неколку функции за ракување со кодирани страници:
- sapi_windows_cp_set() за поставување на стандардната кодирана страница
- sapi_windows_cp_is_utf8()
- sapi_windows_cp_get() за добивање на тековната кодирана страница
sapi_windows_cp_conv() за конвертирање помеѓу кодирани страници, користејќи потпис компатибилен со iconv()
Овие функции се безбедни за нишки.
Кодираната страница на излезот од конзолата се прилагодува во зависност од кодирањето што се користи во PHP. Во зависност од конкретната OEM кодирана страница на системот, видливиот излез можеби или не можеби да биде точен. На пример, во стандардниот cmd.exe и на систем со OEM кодирана страница 437, излезите во кодирани страници 1251, 1252, 1253 и некои други може да се прикажат правилно кога се користи UTF-8. На истиот систем, знаците во кодирана страница како 20932 веројатно нема да се прикажат правилно. Ова се однесува на конкретните системски правила за кодирана страница, компатибилност на фонтови и конкретната конзолна програма што се користи. PHP автоматски ја поставува кодираната страница на конзолата според правилата за кодирање од php.ini. Користењето алтернативни конзоли наместо директно cmd.exe може да донесе подобро искуство во некои случаи.
Сепак, имајте предвид дека промената на кодираната страница во текот на извршувањето по почетокот на барањето може да донесе неочекувани странични ефекти на CLI. Претпочитаниот начин е php.ini. Кога PHP CLI се користи во конзолен емулатор што не поддржува Unicode, можеби ќе биде потребно да се избегне промена на кодираната страница на конзолата. Најдобар начин да се постигне тоа е со поставување на стандардното или внатрешното кодирање да одговара на ANSI кодираната страница. Друг метод е да се постават INI директивите output_encoding и input_encoding на потребната кодирана страница, во кој случај, сепак, разликата помеѓу внатрешното кодирање и кодирањето за влез/излез веројатно ќе предизвика моџибејк. Во ретки случаи, ако PHP случајно се сруши грациозно, оригиналната кодирана страница на конзолата можеби нема да биде вратена. Во овој случај, командата chcp може да се користи за рачно враќање. ini_set() Посебно внимание за DBCS системите - промената на кодираната страница во текот на извршувањето користејќи ini_set() веројатно ќе предизвика проблеми со прикажувањето. Разликата со не-DBCS системите е што проширените знаци бараат две конзолни клетки за да се прикажат. Во одреден случај, може да се случи само мапирање на знаците во множеството глифови на фонтот, без вистинска промена на фонтот. Ова е природата на DBCS системите, наједноставниот начин да се спречат проблеми со прикажувањето е да се избегне употребата на
за промена на кодираната страница.
Како резултат на поддршката за UTF-8 во потоците, PHP скриптите веќе не се ограничени на имиња на датотеки во ASCII или ANSI. Ова е поддржано надвор од кутијата на CLI. За други SAPI, документацијата за соодветниот сервер е корисна. \\?\Поддршката за долги патеки е транспарентна. Патеките подолги од 260 бајти автоматски се претфикс со ". Максималната должина на патеката е ограничена на 2048 бајти. Имајте предвид дека ограничувањето на сегментот на патеката (должина на основниот дел од името) сè уште постои.
За најдобра преносливост, силно се препорачува ракување со имиња на датотеки, влез/излез и други поврзани теми во UTF-8. Дополнително, за конзолните апликации, употребата на фонт TrueType е препорачлива и употребата на ini_set() за промена на кодираната страница не се препорачува.
readline
На readline екстензија се поддржува преку » WinEditLine библиотека. Со тоа, интерактивниот CLI школката исто така е поддржана (php.exe -a).
PHP_FCGI_CHILDREN
PHP_FCGI_CHILDREN сега се почитува. Ако оваа променлива на опкружувањето е дефинирана, првиот php-cgi.exe процесот ќе изврши наведениот број на деца. Тие ќе го споделат истиот TCP штекер.
ftok()
Додадена е поддршка за ftok()