mirror of
https://github.com/php/doc-ru.git
synced 2026-03-24 07:42:22 +01:00
139 lines
6.9 KiB
XML
139 lines
6.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: badd30777a8ce1e6ad58265e36dfa76452e90119 Maintainer: rjhdby Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<section xml:id="openssl.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
&reftitle.install;
|
||
<para>
|
||
Для поддержки библиотеки OpenSSL в PHP необходимо скомпилировать библиотеку с опцией
|
||
<option role="configure">--with-openssl</option>.
|
||
</para>
|
||
<para>
|
||
Также библиотека OpenSSL устанавливает дополнительные требования для нормальной работы
|
||
во время исполнения. Самое главное, библиотеке OpenSSL требуется доступ к генераторам случайных и
|
||
псевдослучайных чисел; на большинстве систем Unix или Linux, это означает
|
||
доступ к устройствам <literal>/dev/urandom</literal> или <literal>/dev/random</literal>.
|
||
</para>
|
||
<para>
|
||
Опция конфигурации <option role="configure">--with-system-ciphers</option>
|
||
заставляет PHP использовать системный список шифров вместо жёстко заданного по умолчанию.
|
||
</para>
|
||
<note>
|
||
<title>Замечания для пользователей Win32</title>
|
||
<para>
|
||
&ext.windows.path.dll;
|
||
<filename>libeay32.dll</filename> или начиная
|
||
с OpenSSL 1.1 <filename>libcrypto-*.dll</filename>.
|
||
</para>
|
||
<para>
|
||
Дополнительно, если вы собираетесь использовать функции генерации
|
||
ключей и подписи сертификатов, вам придётся установить в системе корректный
|
||
файл <filename>openssl.cnf</filename>.
|
||
Мы включили демонстрационный конфигурационный файл в бинарную
|
||
поставку под win32. Он лежит в директории
|
||
<filename class="directory">extras/ssl</filename>.
|
||
</para>
|
||
<para>
|
||
PHP будет искать файл <filename>openssl.cnf</filename> по следующей логике:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>Переменная окружения <literal>OPENSSL_CONF</literal>. Если установили, то
|
||
должна содержать путь (включая имя файла) до конфигурационного файла.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>переменная окружения <literal>SSLEAY_CONF</literal>. Если установлена, то
|
||
должна содержать путь (включая имя файла) до конфигурационного файла.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
Поиск файла <filename>openssl.cnf</filename> будет выполняться по стандартному
|
||
пути для сертификатов, который задали при компиляции DLL-библиотеки. Обычно файл задают
|
||
как <filename>C:\Program Files\Common Files\SSL\openssl.cnf</filename> (x64)
|
||
или <filename>C:\Program Files (x86)\Common Files\SSL\openssl.cnf</filename> (x86),
|
||
или как <filename>C:\usr\local\ssl\openssl.cnf</filename> до PHP 7.4.0.
|
||
</simpara>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
<simpara>
|
||
При установке требуется определить, устанавливать ли файл по стандартному
|
||
пути или хранить файл в другом месте и задать путь к файлу через переменные окружения, что полезно
|
||
на виртуальных хостах. Обратите внимание, что путь по
|
||
умолчанию разрешается переопределить в скрипте через параметр
|
||
<parameter>options</parameter> функции, которой требуется этот файл.
|
||
</simpara>
|
||
<caution>
|
||
<simpara>
|
||
Убедитесь, что непривилегированным пользователям не разрешено изменять файл <filename>openssl.cnf</filename>.
|
||
</simpara>
|
||
</caution>
|
||
<simpara>
|
||
C OpenSSL 3.0.0, который с PHP 8.2.0 используется в Windows по умолчанию,
|
||
ряд алгоритмов устарел. Такие алгоритмы выходят из употребления,
|
||
криптографическое сообщество признаёт такие алгоритмы небезопасными.
|
||
Эти алгоритмы по-прежнему доступны через устаревшего поставщика —
|
||
файл <filename>extras/ssl/legacy.dll</filename>; работу с поставщиком
|
||
описывает раздел OpenSSL-руководства
|
||
<link xlink:href="&url.openssl.config;#Provider-Configuration">о конфигурации поставщика</link>.
|
||
</simpara>
|
||
</note>
|
||
|
||
<simplesect role="changelog">
|
||
&reftitle.changelog;
|
||
<para>
|
||
<informaltable>
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>&Version;</entry>
|
||
<entry>&Description;</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>7.4.0</entry>
|
||
<entry>
|
||
Опция конфигурации <option role="configure">--with-openssl[=DIR]</option> больше не принимает
|
||
аргумент каталога в пользу настройки переменной
|
||
<envar>PKG_CONFIG_PATH</envar> команды pkg-config в положение OpenSSL
|
||
или путём указания переменных <envar>OPENSSL_LIBS</envar>
|
||
и <envar>OPENSSL_CFLAGS</envar>.
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>7.4.0</entry>
|
||
<entry>
|
||
Конфигурационный путь библиотеки OpenSSL по умолчанию изменили с <filename>C:\usr\local\ssl</filename>
|
||
на <filename>C:\Program Files\Common Files\SSL</filename> или
|
||
<filename>C:\Program Files (x86)\Common Files\SSL</filename>, соответственно.
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
</para>
|
||
</simplesect>
|
||
|
||
</section>
|
||
<!-- 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
|
||
-->
|