Этот раздел содержит инструкции для ручной установки и настройки
PHP на Microsoft Windows. Инструкции по использованию инсталлятора PHP для
установки и конфигурации PHP и веб сервера на Windows находятся в разделе
Windows Installer (PHP 5.2 и более поздние).
Выбор и загрузка пакета дистрибутивов PHP
Загрузите дистрибутив PHP в виде zip-архива с
» PHP для Windows: Исполняемые файлы и исходные коды.
Существует несколько различных версий zip-пакетов - выберите версию, которая подходит для
используемого веб сервера:
Если PHP используется с IIS, тогда следует использовать PHP 5.3 VC9 Non Thread Safe или
PHP 5.2 VC6 Non Thread Safe;
Если PHP используется с IIS7 или выше и версия PHP 5.3+, тогда должна использоваться версия
дистрибутива PHP VC9.
Если PHP используется с Apache 1 или Apache 2 тогда выбирайте PHP 5.3 VC6 или
PHP 5.2 VC6.
php-cgi.exe - исполняемый файл CGI, который может бюыть использован во время запуска PHP
на IIS через CGI или FastCGI.
php-win.exe - исполняемый файл PHP для выполнения PHP скриптов без использования консоли
(например, приложения PHP, использующие Windows GUI).
php.exe - исполняемый файл PHP для выполнения PHP скриптов в консоли (CLI).
php5apache2_2.dll - модуль Apache 2.2.X.
php5apache2_2_filter.dll - фильтр Apache 2.2.X.
Изменение файла php.ini
После того, как содержимое пакета php извлечено, создайте копию php.ini-production с именем php.ini
в той же папке. Если необходимо, также возможно разместить php.ini в любом другом месте по вашему выбору,
но это потребует дополнительной настройки, которая приводится в разделе Настройка PHP.
Файл php.ini содержит правила исполнения PHP и инструкции по работе с
окружением, в котором он запускается. Ниже приводятся некоторые из настроек php.ini,
которые могут улучшить работу PHP в Windows. Некоторые из них опциональны. Есть
много других директив, которые могут быть полезны в вашем окружении - обращайтесь к
списку директив php.ini за более подробной информацией.
Обязательные директивы:
extension_dir = <путь к директории расширений> - extension_dir
указывает директорию, где расположены расширения PHP. Путь может быть абсолютым
(например "C:\PHP\ext") или относительным (например ".\ext"). Используемые в php.ini расширения
должны быть расположены в extension_dir.
extension = xxxxx.dll - Для каждого подключаемого расширения необходимо указать директиву "extension=".
Расширения из extension_dir, отмеченные такой директивой, загружаются при старте PHP.
log_errors = On - в PHP есть механизм ведения лога ошибок, который может использоваться для сохранения ошибок в файле
или для отправки в сервис (например syslog). Механизм также использует значение директивы error_log. Когда PHP исполняется службой IIS,
log_errors должен быть включен с корректным error_log.
error_log = <пусть к файлу лога ошибок> - error_log нужен для обозначения абсолютного
или относительного пути к файлу, в который протоколируются ошибки PHP. Этот файл должен доступным для записи веб-сервером.
Самые распространенные места размещения этого файла - различные временные TEMP директории, например "C:\inetpub\temp\php-errors.log".
cgi.force_redirect = 0 - Эта директива необходима для исполнения под IIS.
Это механизм защиты директории, требуемый многими другими веб серверами. Однако, включение его под IIS
вызовет ошибки ядра PHP в Windows.
cgi.fix_pathinfo = 1 - Обеспечивает поддержку PATH_INFO согласно спецификации CGI.
IIS FastCGI использует эту настройку.
fastcgi.impersonate = 1 - FastCGI под IIS поддерживает способность идентифицировать
маркеры безопасности вызывающего клиента. Это позволяет IIS определять контекст безопасности, под которые выполняется запрос.
fastcgi.logging = 0 - Запись логов FastCGI должна быть выключена в IIS. Если запись включена,
тогда все сообщения любых классов распознаются FastCGI как ошибки, что приведет IIS к генерации исключения HTTP 500.
Опциональные директивы
max_execution_time = ## - Эта директива указывает максимальное время выполнения любого скрипта PHP.
По умолчанию равно 30 секундам. Следует увеличить это значение, если приложение PHP должно выполняться дольше.
memory_limit = ###M - Количество памяти, доступное процессу PHP, в Мб.
По умолчанию 128, что достаточно для большинства PHP приложений. Некоторым сложным приложениям может потребоваться больше памяти.
display_errors = Off - Директива определяет, какие ошибки следует возвращать веб-серверу для
дальнейшего протоколирования. При значении "On" PHP сообщает обо всех видах ошибок, которые
приводятся в директиве error_reporting.
По соображениям безопасности рекомендуется установить в "Off" на рабочих серверах, чтобы исключить передачу
вывода ошибкок конечному пользователю, так как они могут содержат информацию, угрожающую безопасности приложения.
open_basedir = <пути к директориям, разделенные точкой с запятой>, например
openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". Эта директива указывает пути к директориям, в которых PHP
разрешены операции с файловой системой. Любая операция с файлами и директориями вне указанных путей будет приводить к ошибке.
Эта директива особенно полезна для предоствращения доступа к установленному PHP в окружениях разделяемых хостингов для предотвращения
доступа PHP скриптов к любым файлам вне корневой директории веб сайта.
upload_max_filesize = ###M и post_max_size = ###M -
Максимальный разрешенный размер загруженного файла и присланных данных соответственно. Значения этих директив должны быть
увеличены, если приложения PHP должны обрабатывать большие загружаемые файлы, например изображения или видеофайлы.
После установки PHP в вашей системе слудеющим шагом будет выбор веб-сервера и его дальнейшая
настройка для работы с PHP. Выберите конкретный веб-сервер в оглавлении к данному материалу.
Помимо запуска PHP с помощью веб-сервера, PHP может быть запущен из командной строки
как .BAT скрипт. За более подробной информацией обращайтесь к материалу
Консоль PHP на Microsoft Windows.