PHP — это очень мощьный язык программирования, работающий по принципу «клиент - сервер«. Существуют готовые сборки включающие в себя и HTTP сервер и надстройки к нему типа Denwer или EasyPHP. Там уже подключен PHP. Они устанавливаются как обычные приложения Windows, там по окончании установки все уже будет настроено. Но можно пойти другим путем и устанавливать каждый компонент отдельно и настраивая его самостоятельно. Большинству придется это делать, так как в процессе эксплуатации вам может понадобится что-то дополнительное.
Что подразумевает установка PHP? Во-первых, нам нужен интерпретатор PHP. Во-вторых, необходим веб-сервер, например, Apache, с помощью которого мы сможем обращаться к ресурсам создаваемого нами сайта.
Для установки PHP перейдем на офсайт разработчиков https://www.php.net/downloads. На странице загрузок мы можем найти различные дистрибутивы для операционной системы Linux. Если нашей операционной системой является Windows, то нам надо загрузить один из пакетов со страницы https://windows.php.net/download.
Интерпретатор PHP имеет две версии: Non Thread Safe и Thread Safe. В чем разниц между ними? Версия Thread Safe позволяет задействовать многопоточность, тогда как Non Thread Safe — однопоточная версия. Выбрем версию Thread Safe.
Итак — установка.
Мы скачали дистрибутив — теперь его надо распаковать. Распакуйте содержимое zip архива в директорию по вашему выбору, например C:\PHP\. Директория и структура файлов, извлеченных из zip, будет такой:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
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 -- Исполняемый файл для командной строки (CLI) | |-... | |-php.ini-development -- настройки php.ini по умолчанию | |-php.ini-production -- рекомендуемые настройки php.ini | |-php5apache2_2.dll -- имеется только в многопоточной версии | |-php5apache2_2_filter.dll -- имеется только в многопоточной версии | |-... | |-php5ts.dll -- ядро PHP DLL | |-... |
Ниже представлен список модулей и исполняемых файлов, включенных в PHP zip дистрибутив:
-
go-pear.bat — скрипт установки PEAR. Подробнее см. » Установка (PEAR).
-
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.ini содержит правила исполнения PHP и инструкции по работе с окружением, в котором он запускается. Ниже приводятся некоторые из настроек php.ini, которые могут улучшить работу PHP в Windows. Некоторые из них опциональны.
Обязательные директивы:
-
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.
P/S Еще я рекомендовал бы прописать путь к PHP в глобальной переменной, делается это так
Для этого откроем окно Свойств системы: Пуск — Выполнить и выполним команду
control system
Далее откройте окно дополнительных свойств системы (Advanced sysytem setting) — вкладка Дополнительно (Advanced) — нажмите кнопку Переменные среды (Environmant Variables)
Добавьте путь к папке, в которой размещен PHP в значение переменной PATH. В нашем случае, это папка C:\php; (после указанного пути обязательно поставьте точку с запятой)
Сохраните изменения, поочередно нажимая ОК в открытых окнах.
Один комментарий для “PHP для WEB сервера на Windows”