Files
php-doc-ru/install/windows/legacy/manual.xml

265 lines
15 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 17fc359d7eb75d7d6199db77518924f2d351ed8b Maintainer: rjhdby Status: ready -->
<!-- Reviewed: yes Maintainer: sergey -->
<!-- $Revision$ -->
<sect2 xml:id="install.windows.legacy.manual" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Руководство по ручной установке</title>
<para>
Этот раздел содержит инструкции для ручной установки и настройки
PHP на Microsoft Windows.
</para>
<sect3 xml:id="install.windows.legacy.manual.download">
<title>Выбор и загрузка пакета дистрибутивов PHP</title>
<para>
Загрузите дистрибутив PHP в виде zip-архива с
<link xlink:href="&url.php.win.downloads;">PHP для Windows: Исполняемые файлы и исходные коды</link>.
Существует несколько различных версий zip-пакетов — выберите версию, которая подходит для
используемого веб сервера:
</para>
</sect3>
<sect3 xml:id="install.windows.legacy.manual.package">
<title>Структура и содержание пакета PHP</title>
<para>
Распакуйте содержимое zip архива в директорию на ваш выбор, например, C:\PHP\.
Структура папок и файлов, извлечённых из архива, будет выглядеть следующим образом:
<example>
<title>Структура пакета PHP 5</title>
<programlisting>
<![CDATA[
c:\php
|
+--dev
| |
| |-php5ts.lib -- версия php5.lib без поддержки многопоточности
|
+--ext -- DLL модули для PHP
| |
| |-php_bz2.dll
| |
| |-php_cpdf.dll
| |
| |-...
|
+--extras -- пустой
|
+--pear -- начальная копия PEAR
|
|
|-go-pear.bat -- скрипт установки PEAR
|
|-...
|
|-php-cgi.exe -- исполняемый файл CGI
|
|-php-win.exe -- выполняет скрипты без открытой консоли
|
|-php.exe -- Исполняемый файл PHP для командной строки (CLI)
|
|-...
|
|-php.ini-development -- настройки php.ini по умолчанию
|
|-php.ini-production -- рекомендуемые настройки php.ini
|
|-php5apache2_2.dll -- есть только в многопоточной версии
|
|-php5apache2_2_filter.dll -- есть только в многопоточной версии
|
|-...
|
|-php5ts.dll -- ядро PHP DLL ( php5.dll в версии без поддержки многопоточности)
|
|-...
]]>
</programlisting>
</example>
</para>
<para>
Ниже представлен список модулей и исполняемых файлов, включённых в PHP zip
дистрибутив:
<itemizedlist spacing="compact">
<listitem>
<para>
<filename>go-pear.bat</filename> - скрипт установки PEAR. Подробнее смотрите
<link xlink:href="&url.pear.installation;">Установка (PEAR)</link>.
</para>
</listitem>
<listitem>
<para>
<filename>php-cgi.exe</filename> - исполняемый файл CGI, который может быть использован во время запуска PHP
на IIS через CGI или FastCGI.
</para>
</listitem>
<listitem>
<para>
<filename>php-win.exe</filename> - исполняемый файл PHP для выполнения PHP-скриптов без использования консоли
(например, приложения PHP, использующие Windows GUI).
</para>
</listitem>
<listitem>
<para>
<filename>php.exe</filename> - исполняемый файл PHP для выполнения PHP-скриптов в консоли (CLI).
</para>
</listitem>
<listitem>
<para>
<filename>php5apache2_2.dll</filename> - модуль Apache 2.2.X.
</para>
</listitem>
<listitem>
<para>
<filename>php5apache2_2_filter.dll</filename> - фильтр Apache 2.2.X.
</para>
</listitem>
</itemizedlist>
</para>
</sect3>
<sect3 xml:id="install.windows.legacy.manual.phpini">
<title>Изменение файла <filename>php.ini</filename></title>
<para>
После того, как содержимое пакета php извлечено, создайте копию <filename>php.ini-production</filename> с именем <filename>php.ini</filename>
в той же папке. Если необходимо, также возможно разместить <filename>php.ini</filename> в любом другом месте по вашему выбору,
но это потребует дополнительной настройки, которая приводится в разделе <link linkend="configuration.file">Настройка PHP</link>.
</para>
<para>
Файл <filename>php.ini</filename> содержит правила исполнения PHP и инструкции по работе с
окружением, в котором он запускается. Ниже приводятся некоторые из настроек <filename>php.ini</filename>,
которые могут улучшить работу PHP в Windows. Некоторые из них необязательные. Есть
много других директив, которые могут быть полезны в вашем окружении - обращайтесь к
<link linkend="ini.list">списку директив php.ini</link> за более подробной информацией.
</para>
<para>
Обязательные директивы:
<itemizedlist spacing="compact">
<listitem>
<para>
<varname>extension_dir</varname> = <literal>&lt;путь к директории модулей&gt;</literal> - <varname>extension_dir</varname>
указывает директорию, где расположены модули PHP. Путь может быть абсолютным
(например, &quot;C:\PHP\ext&quot;) или относительным (например, &quot;.\ext&quot;). Используемые в <filename>php.ini</filename> модули
должны быть расположены в <varname>extension_dir</varname>.
</para>
</listitem>
<listitem>
<para>
<varname>extension</varname> = <literal>xxxxx.dll</literal> - Для каждого подключаемого модуля необходимо указать директиву &quot;extension=&quot;.
Модули из <varname>extension_dir</varname>, отмеченные такой директивой, загружаются при старте PHP.
</para>
</listitem>
<listitem>
<para>
<varname>log_errors</varname> = <literal>On</literal> - в PHP есть механизм ведения лога ошибок, который может использоваться для сохранения ошибок в файле
или для отправки в сервис (например syslog). Механизм также использует значение директивы <varname>error_log</varname>. Когда PHP исполняется службой IIS,
<varname>log_errors</varname> должен быть включён с корректным <varname>error_log</varname>.
</para>
</listitem>
<listitem>
<para>
<varname>error_log</varname> = <literal>&lt;пусть к файлу лога ошибок&gt;</literal> - error_log нужен для обозначения абсолютного
или относительного пути к файлу, в который протоколируются ошибки PHP. Этот файл должен доступным для записи веб-сервером.
Самые распространённые места размещения этого файла - различные временные TEMP директории, например, &quot;C:\inetpub\temp\php-errors.log&quot;.
</para>
</listitem>
<listitem>
<para>
<varname>cgi.force_redirect</varname> = <literal>0</literal> - Эта директива необходима для исполнения под IIS.
Это механизм защиты директории, требуемый многими другими веб-серверами. Однако, включение его под IIS
вызовет ошибки ядра PHP в Windows.
</para>
</listitem>
<listitem>
<para>
<varname>cgi.fix_pathinfo</varname> = <literal>1</literal> - Обеспечивает поддержку PATH_INFO согласно спецификации CGI.
IIS FastCGI использует эту настройку.
</para>
</listitem>
<listitem>
<para>
<varname>fastcgi.impersonate</varname> = <literal>1</literal> - FastCGI под IIS поддерживает способность идентифицировать
маркеры безопасности вызывающего клиента. Это позволяет IIS определять контекст безопасности, под которые выполняется запрос.
</para>
</listitem>
<listitem>
<para>
<varname>fastcgi.logging</varname> = <literal>0</literal> - Запись логов FastCGI должна быть выключена в IIS. Если запись включена,
тогда все сообщения любых классов распознаются FastCGI как ошибки, что приведёт IIS к выбрасыванию исключения HTTP 500.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Опциональные директивы
<itemizedlist spacing="compact">
<listitem>
<para>
<varname>max_execution_time</varname> = <literal>##</literal> - Эта директива указывает максимальное время выполнения любого скрипта PHP.
По умолчанию равна 30 секундам. Следует увеличить это значение, если приложение PHP должно выполняться дольше.
</para>
</listitem>
<listitem>
<para>
<varname>memory_limit</varname> = <literal>###M</literal> - Количество памяти, доступное процессу PHP, в Мб.
По умолчанию 128, что достаточно для большинства PHP приложений. Некоторым сложным приложениям может потребоваться больше памяти.
</para>
</listitem>
<listitem>
<para>
<varname>display_errors</varname> = <literal>Off</literal> - Директива определяет, какие ошибки следует возвращать веб-серверу для
дальнейшего протоколирования. При значении &quot;On&quot; PHP сообщает обо всех видах ошибок, которые
приводятся в директиве <varname>error_reporting</varname>.
По соображениям безопасности рекомендуется установить в &quot;Off&quot; на рабочих серверах, чтобы исключить передачу
вывода ошибок конечному пользователю, так как они могут содержат информацию, угрожающую безопасности приложения.
</para>
</listitem>
<listitem>
<para>
<varname>open_basedir</varname> = <literal>&lt;пути к директориям, разделённые точкой с запятой&gt;</literal>, например
openbasedir=&quot;C:\inetpub\wwwroot;C:\inetpub\temp&quot;. Эта директива указывает пути к директориям, в которых PHP
разрешены операции с файловой системой. Любая операция с файлами и директориями вне указанных путей будет приводить к ошибке.
Эта директива особенно полезна для предотвращения доступа к установленному PHP в окружениях разделяемых хостингов для предотвращения
доступа PHP-скриптов к любым файлам вне корневой директории веб сайта.
</para>
</listitem>
<listitem>
<para>
<varname>upload_max_filesize</varname> = <literal>###M</literal> и <varname>post_max_size</varname> = <literal>###M</literal> -
Максимальный разрешённый размер загруженного файла и присланных данных соответственно. Значения этих директив должны быть
увеличены, если приложения PHP должны обрабатывать большие загружаемые файлы, например, изображения или видеофайлы.
</para>
</listitem>
</itemizedlist>
</para>
<para>
После установки PHP в вашей системе, следующим шагом будет выбор веб-сервера и его дальнейшая
настройка для работы с PHP. Выберите конкретный веб-сервер в оглавлении к данному материалу.
</para>
<para>
Помимо запуска PHP с помощью веб-сервера, PHP может быть запущен из командной строки
как <literal>.BAT</literal> скрипт. За более подробной информацией обращайтесь к материалу
<link linkend="install.windows.legacy.commandline">Консоль PHP на Microsoft Windows</link>.
</para>
</sect3>
</sect2>
<!-- 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
-->