Files
doc-fr/appendices/migration71/windows-support.xml
dem b24d2544e2 Fix some typos
Update appendices/migration71/other-changes.xml

Co-authored-by: George Peter Banyard <7906688+Girgias@users.noreply.github.com>

Update appendices/migration72/new-features.xml

Co-authored-by: George Peter Banyard <7906688+Girgias@users.noreply.github.com>

Update appendices/migration71/other-changes.xml

Co-authored-by: George Peter Banyard <7906688+Girgias@users.noreply.github.com>

Update appendices/migration72/new-features.xml

Co-authored-by: George Peter Banyard <7906688+Girgias@users.noreply.github.com>
2021-04-28 12:51:10 +01:00

170 lines
6.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 3cd337b4dc91c827399961b9b45524ae4f2b50c9 Maintainer: girgias Status: ready -->
<!-- Reviewed: no -->
<sect1 xml:id="migration71.windows-support" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Support Windows</title>
<sect2 xml:id="migration71.windows-support.long-and-utf8-path">
<title>Support pour les chemins longs et UTF-8</title>
<para>
Si une application web est conforme à l'UTF-8, aucune action supplémentaire n'est requise.
Pour des applications qui dépendent de chemins dans un encodage différent que UTF-8 pour l'I/O,
une directive INI doit être explicitement définie. La vérification des paramètres d'encodage INI
se fie à l'ordre dans le cœur (core) :
</para>
<itemizedlist>
<listitem>
<simpara>
internal_encoding
</simpara>
</listitem>
<listitem>
<simpara>
default_charset
</simpara>
</listitem>
<listitem>
<simpara>
zend.multibyte
</simpara>
</listitem>
</itemizedlist>
<para>
Plusieurs fonctions pour la gestion des codepage ont été introduites :
</para>
<itemizedlist>
<listitem>
<simpara>
sapi_windows_cp_set() to set the default codepage
</simpara>
</listitem>
<listitem>
<simpara>
sapi_windows_cp_get() to retrieve the current codepage
</simpara>
</listitem>
<listitem>
<simpara>
sapi_windows_cp_is_utf8()
</simpara>
</listitem>
<listitem>
<simpara>
sapi_windows_cp_conv() to convert between codepages, using iconv() compatible signature
</simpara>
</listitem>
</itemizedlist>
<para>
Ces fonctions sont thread safe.
</para>
<para>
La sortie de la console codepage est ajustée en fonction de l'encodage utilisé
en PHP. En fonction du codepage OEM du système concret, la sortie visible
pourrait ou pourrait ne pas être correcte. Par exemple, avec le cmd.exe par
défaut et sur un système avec le codepage OEM 437, les sorties en codepage 1251,
1252, 1253 et d'autres peuvent être affichées correctement en utilisant UTF-8.
Sur les mêmes systèmes, les caractères dans codepage tel que 20932 ne seront
probablement pas affichées correctement.
Ceci fait référence aux règles système particulières pour codepage, la
compabilité de la police et le choix du programme de console utilisé.
PHP définit automatiquement la codepage console en accord avec les règles
d'encodages depuis php.ini. Utiliser des consoles alternatives à la place de
cmd.exe directement pourrait apporter une meilleure expérience dans certains cas.
</para>
<para>
Toutefois soyez conscient, changer de codepage après que la requête a commencé
peut causer des effets secondaires inattendus en CLI. La façon préférable est php.ini.
Quand PHP CLI est utilisée dans un émulateur de console, qui ne supporte pas Unicode,
il est possiblement nécessaire, d'éviter de changer la codepage de la console.
La meilleure façon pour achever ceci est de définir l'encodage interne ou par défaut pour
correspondre à la codepage ANSI. Une autre méthode est de définir la directive INI
output_encoding et input_encoding à la codepage requise, cependant dans ce cas la
différence entre les codepages internes et I/O risque de causer du mojibake.
Dans de rares cas, si PHP arrive à planter gracieusement, la codepage originale de la
console peut ne pas être restaurée. Dans ce cas, la commande chcp peut être utilisée,
pour la restaurer manuellement.
</para>
<para>
Attention particulière pour les systèmes DBCS - le changement de codepage lors de
l'exécution en utilisant <function>ini_set</function> risque de causer des problèmes d'affichage.
À la différence des systèmes non DBCS, c'est que les caractères étendus nécessitent deux consoles
pour être affichés. Dans certains cas, seule la mise en correspondance des caractères dans
le jeu de glyphes de la police pourrait se produire, aucun changement de police ne se produit.
Ceci est la nature des systèmes DBCS, la manière la plus simple de prévenir des problèmes
d'affichages est d'éviter l'usage de <function>ini_set</function> pour le changement de codepage.
</para>
<para>
En conséquence du support d'UTF-8 dans les flux, les scripts PHP ne sont plus
limités à des noms de fichiers ASCII ou ANSI. Ceci est prêt à l'emploi en CLI.
Pour d'autres SAPI, la documentation pour le serveur correspondant est utile.
</para>
<para>
Le support des chemins longs est transparent. Les chemins plus longs que 260 octets sont
automatiquement préfixés par <literal>\\?\</literal>. La longueur maximale du chemin est
limitée à 2018 octets. Soyez conscient, que la limite des segments de chemin (longueur du
basename) persiste.
</para>
<para>
Pour une meilleure portabilité, il est fortement recommandé de gérer les noms de fichiers,
I/O et autres sujets connexes UTF-8. En outre, pour les applications console, l'usage
d'une police TrueType est préférable et l'usage de ini_set() pour le
le changement de codepage est déconseillé.
</para>
<para>
</para>
<para>
</para>
</sect2>
<sect2 xml:id="migration71.windows-support.readline">
<title>readline</title>
<para>
L'<link linkend="book.readline">extension readline</link> est supportée
à travers la <link xlink:href="&url.readline.windows;">bibliothèque
WinEditLine</link>. Ainsi l'interface système interactive <acronym>CLI</acronym> est
aussi supportée (<literal>php.exe -a</literal>).
</para>
</sect2>
<sect2 xml:id="migration71.windows-support.php-fcgi-children">
<title>PHP_FCGI_CHILDREN</title>
<para>
<varname>PHP_FCGI_CHILDREN</varname> est désormais respecté. Si cette variable d'environnement
est définie, le premier processus <filename>php-cgi.exe</filename> exécutera le nombre
spécifié d'enfants. Ceux-ci partageront le même socket TCP.
</para>
</sect2>
<sect2 xml:id="migration71.windows-support.ftok">
<title>ftok()</title>
<para>
Ajout du support pour <function>ftok</function>
</para>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->