1. Установка PHP на windows 7 в качестве модуля Apache

от 2018 - 03 - 14

Опишу вам процесс установки PHP 7 как модуля web сервера Apache, установленного недавно нами на ОС Windows7.

Для начала скачиваем PHP7 отсюда (https://windows.php.net/download/) . Я выбрал сборку PHP 7.2 (7.2.6) — VC15 x64 Thread Safe, обратите внимание, нам нужна именно Thread Safe версия. Не вдаваясь в детали Thread Safe — это мульти-поточная сборка PHP, а Windows использует мульти-поточную архитектуру работы. Так PHP под виндой будет работать быстрее. Пока вы не займётесь применением PHP в качестве CGI приложения под *nix операционные системы.

  1. Итак, загружаем zip архив, у меня файл назывался: php-7.2.6-Win32-VC15-x64.zip
    Распаковываем его в созданный предварительно каталог «PHP» на диске C, или куда вам удобнее. Инсталлировать его не надо. Достаточно распаковать файлы продукта в определённый каталог, а затем подключить модуль PHP к Apache2.4 (Распаковывать файлы и создавать каталоги удобно в файловом менеджере Total Commander, почитайте о нём, в дальнейшем возможно напишу статью про горячие клавиши и прелести этой программы)
  2. Процесс подключения достаточно прост — надо прописать в конфигурационном файле Apache ( c:\Apache24\conf\httpd.conf ) три строки настроек:
    LoadModule php7_module "C:/PHP/php7apache2_4.dll"
    AddHandler application/x-httpd-php .php
    PHPIniDir "C:/PHP"
    

    Да, так же следует найти в том же конфиге опцию DirectoryIndex, и дописать в неё, после index.html ещё index.php , это настройка для поиска файлов сервером по умолчанию, если пользователь при обращении к сайту в адресной строке URL не указал непосредственный файл обращения. Тогда сервер поищет сначала, нет ли там index.html или index.php, если есть — покажет их.

    Первая, добавленная в конфиг строка указывает, что для работы модуля php7_module будет использована библиотека php7apache2_4.dll, которая должна содержаться в архиве PHP.

    Если вы редактируете файл в текстовом редакторе Notepad++, тогда доступны горячие клавиши [Ctrl] + [F] — поиск по тексту. Найдите в конфиге апача слово «LoadModule», гляньте сколько разных модулей подключается или закомментированы. При работе в дальнейшем вам понадобится некоторые модули подключать, возможно они уже есть в комплекте — теперь вы знаете где можно поискать и раскомментировать (стерев # перед строкой) нужный модуль. Удобно вписать наши строки сразу после списка тех модулей следующими. Найти потом проще.

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

    Третья же строка конфигурации Apache призвана определить местоположение файла настроек самого PHP (php.ini), теперь Apache знает, что брать ему его надо отсюда (C:/PHP/php.ini). Некоторые настройки PHP в будущем сильно тебе пригодятся, туда уже прописываются разные модули уже для PHP, а так же лимит времени выполнения скриптов, максимальный объем файлов, доступных для АпЛоада, в общем много чего. Тот же short_open_tag, который поможет вам запускать скрипты PHP оформленные в сокращённой форме. Например без включения этой опции скрипты PHP заключённые в такие скобки вместо работать не будут. Много копий сломано об эту опцию новичками. Да и вывод строки на экран вместо тоже обломится.

  3. Кстати, говоря о файле конфигурации PHP, не забудьте его создать. Так как в комплекте архива идёт две разные конфигурации php.ini-development и php.ini-production. Я использую ту, которая development и для её подключения и работы расширения конфигурационного ini файла надо изменить на просто .ini стерев лишние символы. Без этой процедуры PHP тоже заработает, но все настройки останутся по умолчанию, а нам предстоит их менять. Так что в Total Commander удобно переименовать файл. По умолчанию там, вроде shift+F6, рекомендую сразу сменить на F2, это делается в настройках Total Commander’а в самом низу «Разное» выберите клавишу F2 и укажите команду cm_RenameOnly, имеется текстовый фильтр внизу, он поможет найти cm_RenameOnly из сотен других. Так вот, теперь F2 и меняем имя файла php.ini-development на просто php.ini
  4. Последний пункт — перезагрузка веб сервера. Рестартнуть его можно из командной строки (как делают большие боссы в linux), или же воспользовавшись средством ApacheMonitor.exe из комплекта апача для винды. Лежит он в каталоге C:/Apache24/bin. Найти, запустить, после чего в трее (где часы), выбрать эмблему веб сервера, и там опцию restart. Для гурманов можно сначала Stop, потом Start.

    Коль после рестарта Apache не появилась зелёная иконка, что он работает — следовательно наврано в конфигах апача, что-то не так, проверяйте. Что именно не так детальнее скажет сам веб сервер при попытке запуска из текстовой консоли. win+R (выполнить) -> пишем cmd -> жмём enter -> открывается консоль, там в текстовой форме уже проследуем в каталог апача, или можно с места в карьер:

    c:\Apache24\bin\httpd.exe -k restart

    далее читаем всё, что apache думает о вас, вашем файле настроек и собственном самочувствии. Если появятся ошибки, вникайте, гуглите, смотрите логи.

  5. Теперь проверим работу PHP. Создадим скрипт — файл index.php в том месте, где у вас расположен виртуальный хост апача, который вы используете. Из прошлой статьи помнится, создавали каталог c:/work/current/test, можно внутри него создать index.php. Или же там, где настраивали вы. Если нигде не настраивали — по умолчанию апач использует директорию \htdocs\ внутри своего домашнего каталога, которая, опять же нативно (по умолчанию), открывается сервером при запросе из браузера домена localhost по URL — http://localhost/ , если вы ничего не меняли. Так вот создадим там файл index.php и напишем в него коротенький код

    <?php
    phpinfo();
    

    Запустим его в браузере, перейдя по ссылке http://localhost/index.php (ну или http://test/index.php , если вы читали прошлую статью и создали по ней себе виртуальный домен test).

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

    Далее следует приступить к установке MySQL, если надо
    Или же продолжить курс изучения PHP.