Установка PHP под ОС Windows. Как установить PHP: все подводные камни процесса Создание структуры веб-сервера

В htmlAcademy и я работаю на нем наставником. Студентам в рамках интенсива предстоит поднять рабочее окружение и это заметка нацелена упростить эту нелегкую для новичка задачу. Есть разные способы поднятия полноценного LAMP стека, но мы пойдем классическим путем. Настроим все компоненты по отдельности (без применения готовых комбайнов) и начнем с PHP (обязательно будет заметка с рассмотрением готовых сборок LAMP). Поскольку я планирую работать наставникам на интесивах по PHP и дальше, я собираюсь написать подобные инструкции для повторения в других ОС (Linux, macOS). Как говорится, лучше один раз попотеть, но потом всем станет проще. Итак, приступаем.

Загружаем PHP для Windows

Заходим на официальный сайт и загружаем актуальную версию PHP. На момент написания заметки это – 7.1.4 . На странице доступно несколько вариантов дистрибутивов. У меня Windows 7 x64, соответственно я выбираю zip архив с VC14 x64 Thread Safe.

Обратите внимание, для загрузки доступна два варианта дистрибутива: Thread-Safe (TS) и Non-Thread-Safe (NTS) . Выбор зависит от того как вы планируете применять интерпретатор. TS рекомендуется использовать для одного процесса веб-служб (например, настраивая через модуль mod_php для Apache). NTS рекомендуется для применения IIS (Internet Information Service) и альтернативных FastCGI веб-сервером (например, Apache с модулем FastCGI) и командной строки.

Устанавливаем PHP 7.1

Начнем готовить PHP для комфортной работе из командной строки. В предыдущем шаге вы загрузили архив с дистрибутивом PHP. В отличие от большинства программ, PHP поставляется в простом архиве, а не как инсталляционный пакет. Поэтому вам придется самостоятельно извлечь файлы в любую удобную для вас директорию. Я предпочитаю хранить подобные вещи в корне системного диска. Создайте в корне диска «C:» (или любом другом месте) директорию «php» и извлеките в нее содержимое загруженного архива.

В директории появится множество файлов, но нас больше всего интересуют:

  • go-pear.bat – сценарий для установки PEAR. Подробности о PEAR можно почитать в официальной документации .
  • php.exe – позволяет выполнять PHP сценарии из консоли;
  • php-win.exe - позволяет выполнять PHP сценарии без применения консоли;
  • php-cgi.exe – необходим для выполнения PHP кода в режиме FastCGI;
  • php7apache2_4.dll – модуль интеграции с веб-сервером Apache 2.4.X;
  • phpdbg.exe – отладчик;
  • php.ini-development – пример конфигурационного файла PHP для окружения разработчика (development)
  • php.ini-production – пример конфигурационного файла PHP для рабочего окружения (production)

Подключаем конфигурационный файл

Распакованный дистрибутив у нас есть, подключим для него конфигурационный файл. Мы собираемся ставить эксперименты, поэтому в качестве образца возьмем php.ini-development . Сделайте копию этого файла в директорию php (C:\php ) с именем php.ini . ВАЖНО! Делайте именно копию, не простое переименование. За время разработки вам может потребоваться изменять конфигурационный файл и есть все шансы совершить ошибку, которую трудно будет обнаружить.

В таких случаях нет ничего лучше, чем вернуться к эталонным настройкам. В нашем случае будет достаточно повторить копирование файла php.ini-development в php.ini . Итак, по окончанию телодвижений в директории с php должен появиться файлик php.ini. В дальнейших заметках мы обязательно поговорим о его содержимом более детально.

Тестируем PHP из командной строки

На этом шаге, так называемая «установка» завершена. Откройте консоль (cmd.exe , ярлык доступен в меню «Стандартные») и введите команду:

C:\php\php.exe --version

Результат будет примерно таким:

PHP 7.1.4 (cli) (built: Apr 11 2017 19:54:37) (ZTS MSVC14 (Visual C++ 2015) x64) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

Результат подтверждает, что PHP работает. Попробуйте для примера создать новый файл-сценарий (я создал файл “test.php” прямо в корне диска “C:”) и поместить в него текст:

Теперь попробуйте выполнить этот файл и посмотрите результат:

C:\php\php.exe –f test.php

Функция phpinfo() выводит информацию по конфигурации PHP в удобном виде. Об этой функции мы еще поговорим.

Упрощаем обращение к php.exe

PHP готов к работе, но согласитесь, каждый раз вбивать в консоле путь к php интерпретатору довольно неудобно. Чтобы упростить себе жизнь, внесем небольшие изменения в переменные среды. Запустим в панели управления аплет «Система» (или просто нажмем горячую клавишу «Windows + Pause Break» . Затем нажмем на кнопку «Изменить параметры» . В появившемся окне «Свойства системы» , перейдем на закладку «Дополнительно» . Найдите и нажмите на ней кнопку «Переменные среды» .

Находим в списке переменную «PATH» и нажимаем кнопку «Изменить» , появится окно редактирования переменной. В поле «Значение переменной» нам необходимо дописать путь к директории с PHP. Перейдите в самый конец строки и через точку с запятой укажите путь к директории с PHP: C:\php;

Все, нажимайте «Ok». Теперь перезагрузите систему (увы, придется). После перезагрузки Windows, обращаться к PHP можно будет просто: php.Например, чтобы вывести название версии достаточно написать:

Php –version

А чтобы интерпретировать файл test.php, расположенный в корне диска «C:»:

Php –f C:\test.php

Или вовсе запустить встроенный веб-сервер:

Php -t C:\ -S 127.0.0.1:8888 Listening on http://127.0.0.1:8888 Document root is C:\ Press Ctrl-C to quit.

Для тестирования откройте web-браузер попробуйте обратиться на http://127.0.0.1:8888/test.php . Обратите внимание, после параметра –t мы указываем путь к директории, которая станет корневой директорией веб-сервера. Все сценарии, расположенные в этой папке будут доступны для запроса с клиента. У меня на диске «C:» есть один файлик 1.php и именно его я и запрашиваю.

Assoc .php=phpfile ftype phpfile="C:\php\php.ee" -f "%1" -- %~2

Еще немного о переменных окружения

Теперь давайте поговорим о том как PHP будет искать файл настроек конфигурации (вспоминаем, о php.ini ). В документации приведена полная цепочка поиска. Во избежание лишних сложностей, рекомендую сразу добавить в переменные окружения новую – «PHPRC» и в качестве значения указать путь к директории с конфигурационным файлом. У меня конфиг располагается в тоже же директории, что и основные файлы php, следовательно в качестве значения переменной указываю –

«C:\php». После внесения изменения потребуется перезагрузка.

На этом у меня все. Первый часть мануала для новичков готова.

PHP - это один из самых популярных языков программирования для создания сайтов и веб-приложений. На нем разработано множество готовых систем управления контентом для блогов, сайтов фирм или даже интернет-магазинов. Несмотря на то что у этого языка есть свои недостатки, он достаточно прост в освоении и поэтому очень часто используется для разработки новых сайтов.

Интерпретатор php может поставляться в виде модуля для Apache, выполнять скрипты из командной строки или в виде отдельного сервиса php-fpm. Эти сервисы отличаются своими возможностями, и предназначением, но для любого вида интерпретатора нужно задать базовые настройки, например, рабочая папка, включенные расширения, отображение ошибок и так далее. Все эти настройки задаются через файл php.ini. В этой инструкции мы рассмотрим как выполняется настройка файла php.ini в операционных системах Linux, хотя все информация подойдет и для Windows.

Если у вас еще не установлен интерпретатор языка программирования php, то вы можете ознакомиться со статьей .

Для каждой версии интерпретатора конфигурационный файл php.ini находится в отдельной папке. Но все конфигурационные файлы находятся в папке /etc/php, например, /etc/php5:

Папка conf.d содержит общие настройки для различных расширений и модулей, они не будут нас сейчас интересовать. Более интересны следующие три папки - apache, cli и fpm. В них содержатся конфигурационные файлы php.ini для каждого из этих интерпретаторов.

Если вы собираетесь использовать несколько из этих интерпретаторов, то вам придется указывать настройки для каждого из них отдельно. Вы можете убедиться, что в каждой из папок лежит файл php.ini.

Что касается синтаксиса файла, то он разделен на секции, сначала идет секция настройки php, которая разделена на подсекции в зависимости от типа настроек, дальше идут секции настройки разных модулей. Синтаксис самих настроек очень прост, он соответствует привычному синтаксису ini файлов. Строка начинается с имени настройки, затем следует знак равно, а за ним значение:

имя_настройки = значение_параметра

Символами обозначается имя секции, например, , а символ; означает комментарий, он и все символы после него не читаются интерпретатором. А теперь рассмотрим как выполняется настройка php.ini и переберем самые важные параметры.

Настройка файла php.ini

Для удобства ориентирования мы разобьем все параметры по категориях в зависимости от их назначения. Вам будет достаточно найти нужный параметр и изменить его значение. А теперь откройте файл настроек php, например, для модуля apache и перейдем к настройке. Чтобы избежать ошибок не добавляйте новые строки, а ищите уже существующие и изменяйте значения на нужные:

sudo gedit /etc/php5/apache/php.ini

Сначала идет немного информации о самом файле в виде комментариев, затем интересующие нас настройки.

Вывод ошибок в php

Настройка php 7 обычно начинается с конфигурации вывода ошибок. Все настройки вывода ошибок находятся в разделе Error handling and logging. По умолчанию вывод ошибок на экран во время выполнения скрипта отключен. Это сделано для того, чтобы пользователи не смогли увидеть ничего лишнего. Вместо этого, все ошибки записываются в лог файл. Если вы используете php на домашнем компьютере, то такие меры не нужны и вы можете сразу выводить все на экран:

display_errors=off

Замените off на on. В php используются различные типы ошибок, например, критические, предупреждения, ошибки синтаксиса, с помощью строки error_reporting вы можете включить вывод только определенных типов ошибок:

error_reporting = E_ALL & ~E_DEPRECATED

Если нужно объединить несколько типов ошибок, то используйте символ &, а для отключения отображения поставьте перед типом знак ~. Приведенный выше пример отображает все ошибки (E_ALL), кроме сообщений об устаревших функциях (E_DEPRECATED). Вы можете отключить все типы использовав 0:

error_reporting = 0

Включите запись ошибок php в лог файл, если не выводите их на экран:

Чтобы не засорять лог однотипными сообщениями можно игнорировать повторяющиеся ошибки в пределах одного исполнения:

ignore_repeated_errors = On

Ограничения ресурсов

Если бы скрипты php никак не ограничивались в ресурсах, то они запросто могли бы перегрузить сервер и не дать ему нормально работать. Поэтому, по умолчанию php устанавливает жесткие ограничения, но, возможно, вам нужно будет их немного ослабить.

По умолчанию максимальное время выполнения скрипта - 30 секунд, сделаем минуту:

max_execution_time = 30

Если указать 0, то скрипт может выполняться бесконечно. Вы также можете ограничить время, на протяжении которого скрипт будет загружать данные, 60 секунд:

max_input_time=60

Максимальное количество переменных в GET и POST:

max_input_vars = 1000

Следующий параметр задает максимальное количество памяти, которую может использовать один скрипт во время своего выполнения, в мегабайтах:

memory_limit = 128M

Максимальный размер данных, передаваемых в POST запросе тоже ограничивается, размер по умолчанию - 8 Мегабайт:

post_max_size = 8M

Вы можете ограничить область действия php в системе с помощью опции openbase_dir, она указывает папку, выше которой скрипт не может получить доступ к файловой системе:

open_basedir = /var/www/

С помощью директив disable_functions и disable_classes вы можете отключить использование в скриптах определенных функций или классов, например, это может быть полезно для веб-хостингов. В этом примере мы отключаем использование функции ini_set, которая позволяет менять настройки php из скрипта:

disable_functions = ini_set

Директории по умолчанию

Файл настройки php.ini позволяет указать пути в файловой системе по умолчанию для различных действий. Вы можете задать папки где система будет искать скрипты, если вы попытаетесь подключить их с помощью инструкции include:

include_path = ".:/usr/share/php5:/usr/share/php5/PEAR"

Папка с модулями php:

extension_dir="./"

Папка для записи временных файлов:

sys_temp_dir = "/tmp"

Для того чтобы пользователи могли загружать свои файлы на сервер, например, фото, нужно включить эту функцию в php:

file_uploads = On

Максимальный размер загружаемого файла:

upload_max_filesize = 2M

Максимальное количество файлов, которые может загрузить один скрипт:

max_file_uploads = 20

Настройка php.ini практически завершена, нам остались лишь расширения.

Настройка расширений

Расширения позволяют очень сильно увеличить функциональность php. Например, благодаря расширениям вы можете использовать в своих скриптах базы данных mysql, postgresql, mysqli, sqlite, графическую библиотеку gd и многое другое. Все это включается в этом разделе.

Для включения расширения достаточно убрать комментарий перед строкой с его командой, например:

extension=php_mysql.so
extension=php_mbstring.so
extension=php_pgsql.so

Обратите внимание, что для windows расширение будет иметь формат dll, но для linux нужно использовать so. В следующих секциях идет настройка каждого из расширений, но мы их рассматривать не будем потому что они обычно не требуют настройки.

Выводы

В этой статье мы рассмотрели как выполняется настройка php на сервере или обычном компьютере для разработки веб-сайтов. Файл настроек php имеет довольно простую структуру и с ним довольно не сложно справиться. После завершения всех настроек и сохранения изменений не забудьте перезагрузить веб-сервер или сервис php-fpm.

Вообще говоря, php-fpm это отдельная тема, потому что там есть много дополнительных настроек, и, возможно, мы рассмотрим его в одной из следующих статей. Если у вас остались вопросы, спрашивайте в комментариях!

» Установка PHP под ОС Windows

Установка PHP под ОС Windows

PHP (англ. PHP: Hypertext Preprocessor - «PHP: препроцессор гипертекста») - язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров.

PHP создавался специально для ведения Web-разработок и может использоваться непосредственно в HTML-коде. Синтаксис языка берет начало из C, Java и Perl и является легким для изучения. Преимущественным назначением PHP является предоставление web-разработчикам возможности быстрого создания динамически генерируемых web-страниц, однако, область применения PHP не ограничивается только этим.

В области программирования для Интернет PHP - один из популярнейших скриптовых языков благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. В настоящее время PHP используется сотнями тысяч разработчиков. Порядка 20 миллионов сайтов используют PHP.

Краткая история PHP.

В 1994 году датский программист Расмус Лердорф написал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl - интерпретатора скриптов - перестало хватать, и Лердорф написал на языке C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter - «Личная Домашняя Страница / Интерпретатор форм». PHP/FI включал базовую функциональность сегодняшнего PHP. Новорожденный язык отличался от своего прародителя более простым и ограниченным синтаксисом.

В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C - PHP/FI 2.0. Её использовали около 1 % (приблизительно 50 тысяч) всех интернет-доменов мира.

PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году два израильских программиста Энди Гутманс и Зив Сураски переписали код с нуля: разработчики сочли PHP/FI 2.0 непригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета.

Одной из сильных сторон PHP 3.0 была возможность его расширения. Возможности расширения PHP 3.0 побуждали разработчиков поставлять новые модули расширения. Возможно именно в этом был секрет ошеломляющего успеха PHP 3.0.

Другой ключевой особенностью PHP 3.0 стала поддержка объектно-ориентированного синтаксиса и намного более мощный и цельный синтаксис языка.

Скромное название "Personal Home Page" уже не очень-то соответствовало реальности и язык был назван PHP: Hypertext Preprocessor (рекурсивное: P HP: H ypertext P reprocessor).

К концу 1998 года PHP использовался десятками тысяч пользователей. В то время PHP 3.0 был установлен приблизительно на 10 % веб-серверов Интернета.

PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.

К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP.

Новый движок, названный Zend Engine (от имён создателей, Зива и Энди, также основателей Zend Technologies), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java

Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка. На данный момент самыми стабильными и часто используемыми являются именно версии 5.xx

Шестая версия PHP находится в стадии разработки с октября 2006 года. В ней уже сделано множество нововведений и много внимания уделено поддержке Юникода.

Официальный сайт PHP: www.php.net . Там вы можете скачать последнюю версия PHP , справку... Кстати, справка по PHP очень удобная в работе и заменяет множество книжек и бумажных справочников.

Установка PHP под ОС Windows

Примечание: в этой статье мы рассматриваем установку PHP в ОС Windows XP. Установка под ОС Windows Vista аналогична. К моменту установки PHP у вас уже должен быть установлен и настроен веб-сервер Apache (см. статью "Установка web-сервера Apache").

1. Имеется возможность выбора из следующих вариантов: Windows Installer и Manual Installation (zip package). Первый подразумевает использование программы-инсталлятора, второй, соответственно, означает самостоятельную установку. Отличаются они и полнотой функциональных возможностей.

Загрузив инсталлятор, вы сможете установить с его помощью CGI-версию PHP, а также автоматически настроить такие серверы, как Microsoft IIS, Microsoft PWS и Xitami, для работы с данным пакетом. Использование такого способа совместно с Apache нецелесообразно. Автоматическая настройка Apache программой не поддерживается, так что конфигурировать сервер все равно придется вручную. Кроме того, у такого решения есть некоторые другие ограничения.

Воспользуемся самостоятельной ручной установке PHP с помощью zip package. Причем это не так уж сложно как может показаться с первого взгляда.

Итак, скачиваем со страницы http://www.php.net/downloads.php zip-архив для windows. В нашем примере это php-5.2.5-Win32.zip.

2. Распаковываем дистрибутив в папку по вашему выбору. Для простоты можно прямо в папку c:\php5 , но можно и в любую другую.Мы для этой цели выбираем папку C:\MyServers\usr\local\php5 .

3. Перейдите в папку с PHP . Далее надо найти файл php.ini-dist , который находится в данной папке и переименовать его в php.ini . Это файл с настройками.

Для того чтобы Windows обнаружила этот файл иногда советуют просто скопировать его в системный каталог Windows. Но не стоит замусоривать системные каталоги, да хранить настройки с сами PHP рядом лучше.

3.1 Для того чтобы нашелся файл php.ini , необходимо либо
а) указать директиву PHPIniDir для Apache , либо
б) создать переменную окружения PHPRC
Панель управления - Система - Свойства системы - Дополнительно - Переменные среды

и указать в реестре Windows ключ HKEY_LOCAL_MACHINE\SOFTWARE\PHP\5\IniFilePath равный C:\MyServers\usr\local\php5.
Для этого можно использовать программу regedit или просто создать и запустить файл php.reg

Windows Registry Editor Version 5.00


"IniFilePath"="C:\\MyServers\\usr\\local\\php5"

3.2 Для того что бы система нашла необходимые библиотеки добавляем к системной переменной PATH пути: C:\MyServers\usr\local\php5\;C:\MyServers\usr\local\php5\ext\;

Панель управления - Система - Свойства системы - Дополнительно - Переменные среды - Системные переменные - Path (и кнопку изменить)...

Примечание: и для Windows XP и Windows Vista данные действия одинаковы. Но необходимы права администратора.

4. Если вы планируете использовать свой сервер для отладки скриптов, то советуем исправить error_reporting для отображения всех ошибок = E_ALL.
Т.е. error_reporting = E_ALL
Данная директива указывает, насколько подробным должен быть вывод предупреждений и сообщений об ошибках. Для отладки скриптов пусть выводятся все сообщения.

5. Найдите include_path (она спрятана в комментарии), уберите знак комментария и внесите изменения:
include_path = "C:\MyServers\usr\local\php5\PEAR"
PEAR - это набор разнообразных библиотек написанных на PHP . Некоторые из этих библиотек входят в дистрибутив.

6. Исправьте extension_dir с extension_dir = "./" на extension_dir = C:/MyServers/usr/local/php5/ext
Это одна из самых важных директив, без нее расширения PHP просто не подключатся.

7. Теперь подключим те расширения, которые потребуются нам для работы. Не подключайте все расширения подряд! Используйте только те, что действительно нужны. Найдите список extensions и уберите знаки комментариев для:
extension=php_gd2.dll
extension=php_mysql.dll

Это мы подключаем расширения для работы с изображениями и СУБД MySQL .

8. Сохраните файл php.ini. Запустите файл php.exe . Если перед вами возникает пустая консоль без сообщений об ошибках, значит, все в порядке.

9. Для веб-сервера Apache PHP может работать в двух вариантах: в виде модуля и в виде CGI-программы. Установить PHP в виде CGI-программы проще, но она будет запускаться каждый раз при обращении к скриптам. Когда же PHP работает в виде модуля, то его код является частью сервера и выполняется как единое целое. Такой подход обеспечивает лучшее быстродействие. Так же в этом случае доступны некоторые полезные функции сервера из PHP -программ (скриптов).

Рассмотрим установку PHP в виде модуля. Для этого нам необходимо вернуться и вспомнить материал из статьи про установку веб-сервера Apache . Данный этап несколько проще и сводится к простому добавлению к файлу httpd.conf нескольких новых строк. Перейдите в папку C:\MyServers\usr\local\Apache2.2\conf и найдите этот файл.

Добавьте в конец секции LoadModule строку:
LoadModule php5_module "C:/MyServers/usr/local/php5/php5apache2_2.dll"

Add this line inside the conditional brace

Добавьте в блок строку:
AddHandler application/x-httpd-php php
Эта директива связывает расширение файла php с уникальным идентификатором MIME- ТИПА. Т.е. файлы с расширением .php будут обрабатыватся PHP .

Подправим так называемые файлы индекса (для того чтобы главная страница по умолчанию была - index.php, а не index.htm):

DirectoryIndex index.php index.htm index.html

И добавим опцию PHPIniDir C:\MyServers\usr\local\php5 для того чтобы загружался наш php.ini, а не стандартные настройки. Если строка PHPIniDir "C:\MyServers\usr\local\php5" прописана в httpd.conf - то php.ini грузится с указанного пути.

Хотя, все можно сделать проще и быстрее.

Подправим файлы индекса (см. выше), но возможно вы это уже сделали при настройке сервера.

Создадим файл php5_mod.conf в директории C:\WebServers\usr\local\Apache2\conf\ (воспользуйтесь стандартной программой Блокнот)

Подключаем данный файл к httpd.conf (вносим эту строку в httpd.conf в самый конец):
Include conf/php5_mod.conf

На этом процесс добавления поддержки PHP к нашему серверу Apache можно считать завершенным. После перезапуска сервера в строке, показывающей состояние и версию Apache, должна появиться соответствующая запись, содержащая номер версии PHP. Если выдаются сообщения об ошибках, изучите их и примите соответствующие меры. Внимательно проверьте наличие и расположение всех требуемых файлов и каталогов, а также правильность прописанных путей - ошибка, скорее всего, была допущена именно там. В любом случае, руководствуясь элементарной логикой и здравым смыслом, можно исправить подавляющее количество возникших проблем, но будем надеяться, что их не будет.

10. Протестируем работу PHP . Убедимся что мы все сделали правильно и наши скрипты работают. В папке C:\MyServers\home\localhost\www создайте файл test.php.

- это стандартная функция PHP . Использование phpinfo() позволяет получить симпатичную страничку, содержащую подробные сведения как о самом PHP, так и о системе в целом, а также о вашем сервере Apache. Рекомендую скачать с php.net справку php_manual_ru.chm и использовать ее для знакомства с PHP .

Запустите браузер и укажите адрес: http://localhost/test.php . Если вы увидите эту страницу, значит все хорошо. Еще раз проверьте откуда загружается файл php.ini (должна быть строка Loaded Configuration File C:\MyServers\usr\local\php5\php.ini)

Теперь наш сервер Apache получил возможность работать с языками web-программирования, которые являются сегодня одними из самых распространенных и популярных.

С этого момента вы можете создавать собственные скрипты с использованием PHP. Дополнительно можно еще установить СУБД (например MySQL ), с которой могли бы взаимодействовать ваши скрипты при решении некоторых задач. Этот шаг будет будет рассмотрен в позже.

P.S . Для создание скриптов можно использовать и обычный блокнот Windows , но это не очень удобно. Я рекомендую использовать редактор PHP Expert Editor . PHP Expert Editor - удобный в использовании PHP редактор, разработанный специально для PHP мастеров. Регистрация для жителей бывшего СНГ бесплатна.

Тренд перехода на PHP 7 набирает обороты. Ибо это быстрее работает (объективно!), это удобней для разработки (но это не точно, вроде как).

Тот же WordPress уже давным-давно умеет работать на новых версиях PHP. Да и другие популярные CMS не отстают. Поэтому есть смысл переводить целиком серверы на эту версию. Но тут есть загвоздка в том, что софт в официальных репозиториях дистрибутивов Linux не спешит обновляться. Для установки чего-то нового как правило нужно костылить с дополнительными репозиториями. Наверняка нет никаких с этим проблем если вы используете виртуальные хостинги. А вот если вы держите сайты на собственных серверах или VPS, то тут уже нужно самостоятельно заморачиваться с обновлением и установкой новейшей версии PHP. И поскольку в 80% случаев на серверах используется панель управления ISPmanager 5, то речь будет о настройке PHP 7 именно в ней. Почему об этом пишу я, а не саппорт ISPsystem? А хз, потому что в их мануале ничего об этом не сказано.

Какие версии PHP установлены в распостраненных дистрибутивах Linux по-умолчанию?

Хостеры обычно предлагают такие OS для установки на VPS или дедики:

Версия OS Версия PHP по умолчанию
Debian 7 PHP 5.4
Debian 8 PHP 5.6
Centos 6 PHP 5.3
Centos 7 PHP 5.4
Ubuntu 14.04 PHP 5.5
Ubuntu 16.04 PHP 7.0

Конечно, встречаются и другие варианты, либо наоборот, может не быть что-то из этого списка. Но новейшие версии — Debian 8, Centos 7 и Ubuntu 16.04 будут практически у любого хостера. Из этих трех похвастать установленным PHP 7 может только последняя. Но у нее есть другие проблемы — она относительно новая и в ней можно огребать какие-то непонятные глюки и баги. По моему опыту Ubuntu на серверах можно использовать LTS версии (как раз четные 04) только года через 2 после выпуска. Как минимум это проще, чем потом долго искать и выявлять проблемы, которых в принципе не должно быть. У меня неоднократно таковые возникали с производительностью некоторого софта в новейших версиях Ubuntu.

О версиях Ubuntu

О версиях Ubuntu

Вообще, я большой любитель как раз убунту. Ибо много лет и много серверов посвятил работе именно с нею. Это прекрасная и удобная OS для сайтов на вашем сервере. Но то был корпоративный сектор, где всё собирается, отлаживается и настраивается индивидуально. Однако когда я начал работать с серверами клиентов из вебмастеров — то столкнулся с тем, что ни Ubuntu, ни даже Debian не так хороши как Centos, и Centos 7 в частности. Её же рекомендуют и сами разработчики панели управления ISPmanager. На практике — в deb-based системах (ubuntu тоже к ним относится) с этой панелью сталкивался с некоторыми глюками. С centos — практически не бывало.

Вообще здесь вопрос удобства администрирования — разницы в работе софта и тем более сайтов практически нет между ними. Никакой разницы в производительности — тем более. А вот в установке и настройке софта — разница может быть уже приличной.

В Debian и Ubuntu софт при установке идет с какими-то базовыми настройками. Он даже запускается и работает сразу после инсталла, добавляется в автозагрузку. В Centos такого нет. Конфиги по-умолчанию, софт не стартует автоматом и некоторый нужно предварительно настроить, иначе он просто не запустится. К примеру те же серверы СУБД — они устанавливаются неиинициализированными. И их нужно инициализировать (создавать системную базу) вручную перед запуском.

Тот же PHP 7 — в centos его легко установить просто добавив дополнительный репозиторий. Хоть в 6-ю, хоть в 7-ю версию. В убунту 14.04 или Debian php 7 тоже ставится из доп. репов. Но она там ставится параллельно дефолтной пятой. И чтобы заставить апач на ней работать нужна доп. настройка. Но при использовании ISPmanager 5 всё становится гораздо проще.

Установка PHP 7 в Centos из дополнительных репозиториев

Таким способом я пользовался раньше. Дело в том, что возможность, о которой я собрался рассказать появилась в ISPmanager относительно недавно. Поэтому приходилось ставить PHP 7 только из репозитория Remi. Есть и другие, но лучше из него. В ISPmanager имеется возможность установки альтернативных версий PHP. Но их ранее можно было использовать только в режиме CGI. А этот режим подходит не всем и не для любого сайта. (). Ранее для Apache и PHP-FPM использовался общесистемный PHP — который называется в панели native. И его версия совпадает как раз с теми, что я привел в табличке в начале статьи. В частности в Centos 7 это будет 5.4. Сооветственно, если native обновить до нужной версии — apache заработает именно на ней. Так раньше и делалось.

Это несложно.

Качаем и устанавливаем репозиторий Remi:

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Разрешаем его использование:

В файле /etc/yum.repos.d/remi-php70.repo нужно для первого репа разрешить возможность использования — в enabled должно быть значение 1. По-умолчанию там 0, что означает репозиторий не используется. Есть и другой способ его задействовать, с помощью опции инсталлера пакетов, но я использую такой, ибо проще запомнить и понятней.

yum install -y php

Это обновит тот самый native php до версии 7.0. После обновления можно перезапустить панель, чтобы она «увидела» обновление:

/usr/local/mgr5/sbin/mgrctl -m ispmgr exit

Для этого достаточно просто вот так остановить его из консоли и перезайти в браузере. Ну либо можно этого и не делать, в любом случае на сервере уже php 7 и именно он будет использоваться в режиме модуля Apache или php-fpm. (Кстати, из консоли вообще можно очень много чего делать )

Но это путь — так называемый «костыль». С некоторых пор пользоваться им не следует.

Включение PHP 7 как модуля Apache в панели ISPmanager 5

Поскольку с регулярными обновлениями панели появилась возможность использовать любую версию PHP, из тех что устанавливаются в качестве альтернативных и ранее были доступны только в режиме CGI. Так называемый — селектор версий PHP. Шикарная возможность, я рекомендую использовать ISPmanager только за одной это. Нигде больше такого удобства и простоты нет. Это говорю я, админ, который без ложной скромности собаку съел на настройке серверов без панелей, а теперь уже и с панелями. Только здесь можно легко и просто выставить для каждого сайта свою версию PHP — от древней 5.2, которая была актуальна когда я еще толком не начал работать даже, до новейшей 7.1.

В меню возможности надо установить эти самые альтернативные версии. После чего появится возможность юзать селектор для каждого сайта, но только в режиме CGI.

По умолчанию альтернативные версии включаются только для режимов CGI и PHP-FPM (с недавних пор).

А вот в режиме модуля Апача запустить эти версии сразу не получится. Соответствующая кнопка в меню PHP попросту неактивна.

Довольно долго я не мог понять почему так, и как же всё таки использовать эту фичу. И просто ставил нужную версию PHP из реми, вышеописанным костыльным способом. Пока сегодня не спросил у саппорта таки — а где же? Причем, я предварительно добросовестно погуглил, нашел и почитал официальную доку о настройке версий PHP и ничего в ней не нашел.

Оказалось, ларчик открывался просто:

Нужно в меню «Возможности» кликнуть дважды на нужной версии PHP . В частности 7.0. И там есть соответствующая опция установки данной версии php как модуля Apache.

После чего обратно идем в раздел PHP и там для нужной версии кнопка становится активной.

Ну, здесь я уже переключил на 7-ю версию, поэтому активную кнопку показываю на нативной версии 5.4.

Весь этот вышеописанный способ должен работать и в Debian, и в Ubuntu. На практике пока что не проверял. Проверите — отпишите плиз. А вот «костыльный» способ в этих ОС будет еще костыльней чем в Centos, ибо там PHP 7 ставится параллельно 5-й версии и в системе получается ДВЕ версии нативного PHP. А тут с одной бы разобраться 🙂 Именно поэтому я рекомендую centos.

Включаем альтернативную версию PHP 7 для режима NGINX+PHP-FPM в ISPmanager 5

Тут всё довольно просто. После установки альтернативной версии она будет установлена и для PHP-FPM по-умолчанию. Достаточно включить нужную версию в настройках пользователя:

После этого все сайты в режиме PHP-FPM у этого пользователя будут работать на php7.

Как проверить версию PHP конкретного сайта и где найти ее настройки, файл php.ini?

Иногда, если вы используете несколько версий PHP на сервере могут возникнуть сомнения что вы используете именно ту версию, которую собирались. Также неплохо проверять и наличие/отсутствие нужных модулей. Или режим работы PHP — что это именно модуль apache, а не cgi. Достоверный и работающий на 100% способ это проверить — добавить файлик info.php в корень нужного сайта. Его содержание должно быть таким:

phpinfo(INFO_MODULES);

После чего идете по адресу site.com/info.php и видите полный расклад по вопросам, в коих вас терзали сомненья:

Причем, обратите внимание, основной конфигурационный файл альтернативной версии PHP включенной таким способом находится совсем не там, где вы ожидаете. Это порой может привести к долгим поискам и непониманию почему не удается изменить тот или иной параметр в конфигурации PHP. Вы же его ищете в /etc/php.ini, но сайт использует php, сконфигуренный совсем в другом месте.

Юзайте phpinfo в любой непонятной ситуации, это может избавить вас от приличных потерь времени и нервов.

Ну на этом у меня все, с практической админской частью разобрались. Далее немного философии.

А зачем нужно использовать PHP 7?

А хуй его знает. Я не разработчик, прелестей всех не понимаю. Однако, замечено, что он ощутимо быстрей исполняет код, нежели старые версии. Вот такие результаты даны в тестировании работы drupal на PHP7 в наверняка многим известном исследовании PHP 7 и кэшеров на хабре :

Как видите, практически в 2 раза быстрей, чем предшествующие версии. К примеру, на эталонном сервере c SSD эталонный пустой WordPress будет показывать около 400-500 милисекунд TTFB. А вот на php 7 с включенным и настроенным акселератором opcache wp может работать со временем отклика 150-250 ms. А может и не работать 🙂 Ибо вы можете какой-нибудь уёбищный чудо-премиум-шаблон из темплэйт-монстра поставить на него, и потом охуевать почему он грузится по 3-5 секунд (это только TTFB, а визуально там и все 10-20 может быть). А ещё и чувствовать себя долбоёбом, ибо на демке разрабов всё летает, за 100-200 ms открывается. Вам ведь невдомек, что там всё закэшировано к ебеням, им же не надо чтоб вы как-то взаимодействовали с сайтом, надо просто впарить его вам 🙂 И что там сам wordpress даже не участвует в генерации страниц — все делает nginx, а он из кэша отдает мгновенно. Но это так, лирическое отступление, из наболевшего.

А вообще, на тему оптимизации и разгона времени отклика скопилось прилично опыта и когда-нибудь я, скорей всего изолью, его на ваши головы, мои дорогие читатели 🙂 Причем, оптимизация и ускорение статейников это одно, об этом я уже кое-что писал . А вот на тему оптимизации интернет-магазинов и сервисов разговор отдельный, и думаю это особо интересно должно быть. Так?

1.3K

В этой статье приводится пошаговое руководство по установке PHP для совместной работы с HTTP-сервером Apache на Windows . Эта процедура была протестирована как на Windows XP и Vista . Предполагается, что вы уже завершили установку Apache .

Этапы настройки PHP 5

1. Загрузите PHP 5

Прежде чем приступать к работе, скачайте копию PHP 5 со страницы загрузки . Загрузите защищенный пакет VC6 из раздела «Windows Binaries » — то есть не скачивайте установщик. Например, выберите пакет с пометкой «PHP 5.2.5 zip package », если на данный момент текущая версия — 5.2.5 .

Примечание : обратите внимание, что я не тестировал описанную ниже процедуру с версиями PHP 5.3 , только с 5.2.5 , которая была последней версией на момент написания статьи. Теоретически, те же действия должны выполняться и для установки PHP 7 .

2. Установите PHP 5

Создайте на жестком диске папку для PHP . Я предлагаю c:php , хотя вы можете использовать другое название и расположение папки. Лично я предпочитаю не использовать имена с пробелами.

Извлеките все файлы из загруженного архива в эту папку. Для этого просто дважды кликните по zip-файлу . А затем перетащите все файлы в папку c:php .

3. Тем, кто обновляет пакет: Удалите старый файл PHP.INI из каталога Windows

Если вы переходите на PHP 5 с более старой версии, перейдите в каталог Windows , (обычно это c:windows ), и удалите все файлы php.ini , которые вы ранее там размещали.

4. Настройка PHP

Перейдите в папку c:php и создайте копию файла php.ini-recommended . Назовите новый файл php.ini . Теперь у вас должен быть файл c:phpphp.in с содержимым, идентичным файлу c:phpphp.ini-recommended .

Примечание . Если вы используете Apache 1 нужно либо перенести файл php.ini в каталог Windows (c:windows ), либо настроить переменную среды PATH , чтобы включить в нее c:php . Если вы не знаете, как это сделать, просто переместите файл php.ini в папку c:windows . Не нужно этого делать, если используете Apache 2 , так как позже мы укажем в файле конфигурации Apache 2 директиву с расположением файла php.ini .

Для установки PHP на Windows 7 c помощью текстового редактора (например, такого как «Блокнот», который можно найти в разделе «Служебные» меню «Пуск» )? откройте файл php.ini . Возможно, придется внести следующие изменения в файл:

а) Включение коротких открывающих тегов

Найдите следующую строку:

short_open_tag = Off

Если для short_open_tag задано значение off , теги типа «

Поскольку многие сторонние PHP-скрипты используют формат «

short_open_tag = On

b) Волшебные кавычки

При установке Apache PHP по умолчанию входящие данные автоматически не экранируются с помощью слэша. Если вы хотите, чтобы входные данные имели префикс обратной косой черты («»), например, чтобы воспроизводить настройки хостинга, найдите следующую строку:

magic_quotes_gpc = Off

и замените ее на:

magic_quotes_gpc = On

Не рекомендуется делать это, если на хостинге не задан данный параметр. Даже при установленном значении Off вы все равно можете использовать в PHP функцию addslashes() , чтобы добавлять слэши для конкретных частей данных,.

c) Использование глобальных переменных

Ряд старых скриптов при выполнении исходят из того, что все данные, отправляемые через форму, будут автоматически иметь переменную PHP с тем же именем. Например, если в форме есть поле для ввода с именем «something «, старые скрипты PHP исходят из того, что PHP-процессор автоматически создаст переменную с именем $something , которая содержит значение, заданное через это поле.

Если вы используете такие скрипты, нужно найти следующую строку:

register_globals = Off

и изменить ее на:

register_globals = On

Предупреждение : при установке PHP на Windows не делайте этого, если у вас нет сторонних скриптов, для работы которых это необходимо. При написании новых скриптов лучше всегда исходить из того, что для элемента register_globals установлено значение «Off «.

d) Отображение ошибок

На «живом » сайте ошибки в скрипте обычно регистрируются без отображения в файле ошибок PHP . Но на локальной машине, пока вы тестируете и отлаживаете PHP-скрипт более удобно отправлять сообщения об ошибках при их выявлении прямо в окно браузера. Так вы не пропустите ошибки, даже если забудете проверить файл журнала ошибок.

Чтобы PHP отображал сообщения об ошибках прямо в окне браузера, найдите следующую строку:

display_errors = Off

и измените ее на:

display_errors = On

Для этого параметра на работающем сайте всегда должно быть установлено значение Off .

e) Путь сессии

Если скрипт использует сессии, найдите следующую строку:

;session.save_path = "/tmp"

session.save_path задает папку, в которой PHP сохраняет файлы сессии. Поскольку папка /tmp в Windows не существует, то нужно установить другую папку. Один из способов — создать папку с именем c:tmp (как ранее мы создали c:php ) и указать для этого параметра данную папку. Если сделаете это, измените данную строку следующим образом:

session.save_path = "c:tmp"

Обратите внимание, что в дополнение к изменению пути я также удалил из строки префикс точки с запятой («;») .

Также можно использовать текущую папку TEMP на своем компьютере. Или создайте папку tmp в каталоге PHP , например c:phptmp и соответствующим образом настройте файл конфигурации. Возможных вариантов может быть много. Если вы не можете решить, какой из них выбрать, просто создайте c:php и сделайте, как я сказал выше.

f) Сервер SMTP

При установке PHP 5 5 если скрипт использует функцию mail() , и нужно, чтобы функция успешно отправляла почту на локальном компьютере, найдите следующий раздел:

; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. ;sendmail_from = [email protected]

Измените его, указав адрес вашего SMTP-сервера и учетную запись электронной почты. Например, если ваш SMTP-сервер mail.example.com , а адрес электронной почты [email protected] , измените код так:

SMTP = mail.example.com smtp_port = 25 sendmail_from = [email protected]

Обратите внимание, что после этого, когда скрипт попытается использовать функцию mail() , для ее успешной работы нужно будет подключиться к своему интернет-провайдеру. Если вы не измените приведенные выше строки и попытаетесь использовать в скрипте функцию mail() , функция вернет код сбоя и отобразит сообщение об ошибке.

Как настроить Apache для PHP 5

Существует два способа установки Apache PHP . Первый: настроить его на загрузку PHP-интерпретатора в качестве модуля Apache . Второй: настроить его для запуска интерпретатора как бинарного CGI . Нужно применять только один из них. Выберите метод модуля, если на хостинге PHP также установлен, как модуль Apache , или используйте метод CGI , если он реализован на хостинге.

a) Запуск PHP 5 в качестве модуля Apache

Чтобы настроить Apache для загрузки PHP в качестве модуля для анализа PHP-скриптов , используйте текстовый редактор ASCII , чтобы открыть файл конфигурации Apache , httpd.conf .

Если вы используете Apache 1.x , файл находится в папке c:Program FilesApache GroupApacheconf . Пользователи Apache 2.0.x могут найти его в папке C:Program FilesApache GroupApache2conf , а пользователи Apache 2.2.x — в папке C:Program FilesApache Software FoundationApache2.2conf . Как правило, он находится в папке conf каталога, где установлен Apache .

Найдите раздел файла с операторами LoadModule . Объявления, перед которыми стоит символ хэша «#» , считаются закомментированными.

Если используете Apache 1.x , добавьте следующую строку после всех операторов LoadModule :

LoadModule php5_module "c:/php/php5apache.dll"

Если вы используете Apache 2.0.x , добавьте следующую строку после всех операторов LoadModule :

LoadModule php5_module "c:/php/php5apache2.dll"

Если вы используете Apache 2.2.x , добавьте следующую строку:

LoadModule php5_module "c:/php/php5apache2_2.dll"

Обратите внимание, что в этом примере установки PHP используется символ прямой косой черты («/» ) вместо традиционной обратной косой черты Windows («») . Это не опечатка.

Если вы используете Apache 1.x , найдите серию операторов «AddModule » и добавьте после всех строк следующую.

AddModule mod_php5.c

Затем найдите в файле блок AddType и добавьте приведенную ниже строку после последнего оператора AddType . Это нужно сделать независимо от того, какую версию Apache вы используете. Для Apache 2.2.x нужно найти строки AddType в разделе . Добавьте строку непосредственно перед закрытием для этого раздела.

Если необходима поддержка других типов файлов, например «.phtml », добавьте их в список, например, так:

Тем, кто использует одну из версий Apache 2 , нужно указать местоположение ini-файла PHP . Добавьте следующую строку в конец httpd.conf .

PHPIniDir "c:/php"

Если вы использовали другой каталог, нужно будет изменить c:/php на правильный путь. Не забудьте применить косую черту («/» ).

Если используете Apache 1 , вы уже разместили файл php.ini в папке Windows или где-нибудь в PATH . Поэтому PHP должен будет найти его самостоятельно.

Запуск PHP 5 в качестве бинарного файла CGI

Если вы настроили для PHP 5 загрузку в качестве модуля Apache , можете пропустить данный раздел. Он предназначен для тех, кто хочет настроить для PHP запуск в качестве бинарного CGI .

Процедура для этого при установке PHP 7 одинаковая как для Apache 1.x , так и для всех версий серии 2.x .

Найдите часть конфигурационного файла Apache , в которой находится раздел ScriptAlias . Добавьте приведенную ниже строку сразу после строки ScriptAlias для «cgi-bin ». Если используете Apache 2.2.x , убедитесь, что строка расположена до закрытия для раздела .

Обратите внимание : если вы установили PHP в другом месте, например c:Program Filesphp , нужно указать соответствующий путь вместо c:/php/ (например, c:Program Filesphp) . Не забудьте, что здесь мы используем простую косую черту («/» ) вместо обратной косой черты Windows («» ).

ScriptAlias /php/ "c:/php/"

Apache нужно настроить MIME тип PHP . Найдите блок комментариев AddType , поясняющий его использование, и добавьте следующую строку ниже него. Для Apache 2.2.x найдите строки AddType в разделе . Добавьте приведенную ниже строку непосредственно перед закрытием для этого раздела.

AddType application/x-httpd-php .php

Как и в случае установки PHP в качестве модуля Apache , можно добавить любые расширения, чтобы Apache распознавал их как скрипты PHP , например:

AddType application/x-httpd-php .phtml

Затем вам нужно указать серверу выполнять исполняемый файл PHP каждый раз, когда он встречает скрипт PHP . Добавьте в файл следующий код, например, после блока комментариев, поясняющих «Action «.

Если вы используете Apache 2.2.x , то добавьте код сразу после инструкции AddType , описанной выше; в Apache 2.2.x нет блока комментариев «Action «.

Action application/x-httpd-php "/php/php-cgi.exe"

Примечание : часть «/php/» будет распознана как ScriptAlias , своего рода макрос, который будет расширен Apache до «c:/php/» (или «c:/Program Files/php/» , если вы установили PHP там ). Другими словами, не помещайте в эту директиву путь «c:/php/php.exe» или «c:/Program Files/php/php.exe» , а используйте «/php/php-cgi.exe» .

Если используете Apache 2.2.x , найдите следующий раздел в файле httpd.conf :

Добавьте приведенные ниже строки сразу после раздела, который только что нашли.

AllowOverride None Options None Order allow,deny Allow from all

c) Настройка индексной страницы по умолчанию

Этот раздел относится к варианту установки PHP на Windows в качестве модуля Apache , так и двоичного CGI .

Если вы создаете файл index.php и хотите, чтобы Apache загружал его как главную страницу сайта, придется добавить еще одну строку в файл httpd.conf . Найдите строку, которая начинается с «DirectoryIndex », и добавьте «index.php » в список файлов. Например, если у вас был такой код:

DirectoryIndex index.html

измените его на:

DirectoryIndex index.php index.html

При следующем входе на веб-сервер через имя каталога, например «localhost » или «localhost/directory/ », Apache отправит все скрипты из index.php или содержимое файла index.html , если index.php недоступен.

Перезапустите веб-сервер Apache

Перезагрузите сервер Apache . Это необходимо, чтобы Apache считал новые директивы конфигурации PHP , которые вы поместили в файл httpd.conf . Сервер Apache 2.2 можно перезапустить, дважды кликнув по иконке Apache Service Monitor в панели задач и нажав в появившемся окне кнопку «Перезапустить ».

Тестирование установки PHP

После установки PHP 5 5 или другой версии языка создайте php-файл со следующей строкой:

Сохраните в каталог Apache htdocs файл с именем test.php . Если используете «Блокнот », не забудьте сохранить имя «test.php » с кавычками. Иначе программа самостоятельно добавит расширение .txt .

Откройте данный файл в браузере, введя в адресную строку «localhost / test.php » (без кавычек ). Не открывайте файл напрямую через проводник — вы увидите только код, введенный ранее. Вам нужно использовать указанный выше URL-адрес , чтобы браузер попытался получить доступ к веб-серверу Apache , который запускает PHP для интерпретации скрипта.

Если все пройдет успешно, вы увидите страницу с информацией о настройке PHP . Поздравляю — вы успешно установили PHP и настроили Apache для работы с ним. Вы можете загрузить этот же файл test.php на свой хостинг и запустить его там, чтобы узнать, как хостинг настроил PHP у себя, и попытаться воспроизвести эти настройки на своей машине.

Если это не сработает, проверьте, не выдает ли установка PHP или установка Apache ошибок. Для этого откройте окно командной строки и запустите php-cgi.exe для файла test.php , например, c:phpphp-cgi test.php .

Если вы вызвали PHP из командной строки и увидели большой HTML-файл со всей информацией о конфигурации PHP , значит, PHP настроен правильно. Вероятно, проблема связана с конфигурацией Apache . Убедитесь, что вы перезапустили Apache после внесения изменений в конфигурацию и что вы правильно настроили веб-сервер.

Изучение PHP

Полное справочное руководство по установке PHP можно найти на официальном сайте технологии. Его можно посмотреть онлайн или загрузить для изучения в автономном режиме.

Хорошего всем дня!

Данная публикация представляет собой перевод статьи «How to Install and Configure PHP 5 to Run with Apache on Windows » , подготовленной дружной командой проекта