Php установка и настройка. Тестируем 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 под ОС 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 . Как и в случае с Apache здесь нет ничего сложного. Если вы первый раз занимаетестьустановкой и настройкой PHP на локальной машине, то вам будет полезно прочитать это руководство с картинками. Если вы уже матерый зубр в этих делах, то можете смело пропустить эту заметку.

Итак, если вы читаете этот пост, то либо вы первый раз устанавливаете PHP, либо у вас возникли вопросы/проблемы в процессе установки или настройки PHP. Я постараюсь как можно подробнее описать этот процесс.

Для начала нам нужен дистрибутив с самой свежей версией PHP. Его можно скачать с официального сайта – www.php.net (9.5 Mb).

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

Извлекаем содержимое архива в папку C:/php5 . Опять же, если вы первый раз устанавливаете связку Apache -PHP- MySQL рекомендую устанавливать по указанным мной путям.

Итак, в C:/php5 у вас должно находиться следующее:

Установка PHP завершена, теперь займемся его настройкой.

Переименуйте файл php.ini-recommended в php.ini :

  • выбираем файл
  • нажимаем F2
  • удаляем -recommended
  • нажимаем Enter.

Теперь откроем файл в блокноте и займемся настройкой PHP . Файл содержит в себе довольно большое количество настроек PHP, но нам они сейчас не нужны. Мы займемся лишь базовой настройкой, которая позволит нам запустить PHP на локальной машине.

Немного о формате описания в файле настроек

Символ ‘;’ означает, что строки закоментированы (они не будут учитываться). Например:

; ignore_user_abort = On

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

;;;;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;;;;

max_execution_time = 30 ; Maximum execution time of each script, in seconds (Максимальное время выполнения скрипта).
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB) (Максимальное количество выделяемой для скрипта памяти).

Формат описания параметров и их значений:

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

Настройка модулей PHP.

Найдите секцию Dynamic Extensions (динамические расширения). Там представлен довольно большой список модулей для PHP:

;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll

;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_pdo.dll

;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll

;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll

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

Для того чтобы подключить модуль нужно удалить перед строкой символ ‘;’. Тем самым мы раскомментируем строку и модуль будет использоваться.

Давайте подключим расширение PHP для работы с графикой – php_gd2.dll (оно нам понадобиться в будущем).

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

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; … or under UNIX:
;
; extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here. Specify the location of the extension with the
; extension_dir directive above.

; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.

extension_dir=”C:/php5/ext”

;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_pdo.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll

Сохраняем сделанные нами изменения. Чтобы сделанные нами настройки применились необходимо перезагрузить Apache .

Установка и настройка PHP завершена!

Как видите – ничего сложного. Если в процессе работы вам понадобятся другие расширения, просто раскомментируйте строку, с нужным вам расширением (аналогично с php_gd2.dll ) и перезагрузите Apache .

В следующем посте, я расскажу как заставить работать PHP и Apache в связке.

Данное описание подходит для любой редакции Windows 7/8/8.1.

Установка веб-сервера Apache

Первым делом скачаем дистрибутив Apache с сайта: http://www.apachelounge.com/download/ . В списке дистрибутивов Apache 2.4 binaries VC11 , нам нужно скачать «httpd-2.4.7-win64-VC11.zip».

После того как скачали, открываем архив httpd-2.4.7-win64-VC11.zip

Извлекаем из него папку Apache24 в раздел диска C:\

Теперь нам необходимо немного поправить конфиг, прежде чем устанавливать Apache. Открываем файл httpd.conf (находится здесь: C:\Apache24\conf) желательно через удобный редактор, например notepad++. Находим строку (217) ServerName www.example.com:80 и меняем на ServerName localhost:80

Здесь нам необходимо указать полный путь к файлу httpd.exe, который находится в папке Apache. В нашем случае это C:\Apache24\bin\httpd.exe. Набираем команду C:\Apache24\bin\httpd.exe -k install и жмем Enter.

Если при выполнении программы у вас возникает следующая ошибка: failed to open the winnt service manager perhaps you forgot to log in as administrator, заходим в следующую папку: C:\Users\Здесь_имя_вашего_пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools, запускаем командную строку от имени администратора

И повторяем команду установки.

Установка завершена. Откройте директорию bin (полный путь: C:\Apache24\bin\) и запустите файл: ApacheMonitor.exe. В системном трее появится значок Apache, с помощью которого можно быстро запускать/останавливать службу Apache, жмем start (запуск):

Теперь проверим работоспособность. Открываем браузер, и в адресной строке пишем http://localhost/ (можно просто localhost). Если установка выполнилась успешно, должна открыться страница с надписью It works!

Установка PHP (ручная)

Нужен ли нам Apache без PHP ? Конечно нет, это нонсенс! Поэтому далее мы рассмотрим ручную (без использования инсталлятора) установку PHP.

Скачиваем PHP (Zip архив) с сайта: http://windows.php.net/download/ . Нам нужна версия: VC11 x64 Thread Safe .

Содержимое архива распаковываем в директорию C:\PHP (папку PHP создаём сами). Далее в папке C:\PHP находим два файла php.ini-development и php.ini-production. Эти файлы содержат базовые настройки. Первый файл оптимизирован для разработчиков, второй для рабочих систем. Основная разница в настройках: для разработчиков разрешен вывод на экран ошибок, тогда как для рабочих систем вывод ошибок запрещен из соображений безопасности.

Сделаем кое что, прежде чем продолжить установку PHP. Открываем Панель управления → оформление и персонализация → параметры папок → вкладка Вид, находим строку «Скрывать расширения для зарегистрированных типов файлов», и если там стоит галочка, убираем ее и нажимаем «Применить».

Продолжаем установку. И так, выбираем нужный вам файл (я выбрал php.ini-development). Выбранный файл нужно будет просто немного переименовать. Правый клик по файлу → Переименовать → стираем «-development», оставляя только php.ini

Теперь открываем php.ini, нам необходимо внести несколько изменений (будьте внимательны при внесении изменений, если в начале строки стоит точка с запятой, ее надо будет убрать):

  1. Найти опцию extension_dir (строка 721) и изменить путь к папке ext в соответствии с путем установки PHP. У меня это выглядит так:
    extension_dir = "C:\PHP\ext"
  2. Найти опцию upload_tmp_dir (строка 791). Здесь надо указать путь к временной папке. Я выбрал c:\windows\temp. Всё вместе:
    upload_tmp_dir = "C:\Windows\Temp"
  3. Найти опцию session.save_path (строка 1369). Здесь также требуется указать путь к временной папке:
    session.save_path = "C:\Windows\Temp"
  4. В разделе Dynamic Extensions необходимо раскомментировать несколько строк (убрать точку с запятой в начале), соответствующих модулям PHP, которые могут понадобиться для работы: 866, 873, 874, 876, 886, 895, 900

Сохраняем изменения и закрываем.

Теперь вернемся к настройкам Apache. Нам придется немного отредактировать конфиг Apache. Заходим в папку C:\Apache24\conf и открываем файл httpd.conf.

Переходим в конец файла и в самом низу добавляем следующие строчки:

# Charset AddDefaultCharset utf-8 # PHP LoadModule php5_module "C:/PHP/php5apache2_4.dll" PHPIniDir "C:/PHP" AddType application/x-httpd-php .php

Путь к папке php указываете тот, который вы выбрали в процессе установки (если вы устанавливали в другую директорию).

В этом же файле находим следующие строки (строки примерно 274-276):

DirectoryIndex index.html

Перед index.html дописываем через пробел index.php. В итоге получается:

DirectoryIndex index.php index.html

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

Чтобы нам убедиться в работоспособности PHP, откройте папку C:\Apache24\htdocs (здесь содержатся файлы веб-сайта по умолчанию). Создайте в этой папке файл index.php со следующим содержанием:

Теперь откройте в браузере http://localhost/ (или просто localhost). Если все прошло нормально, вы увидите похожую страницу:

Если у вас вместо страницы с инфомацией о php открылась страница с надписью «It works!», тогда просто нажмите обновить страницу.

Установка MySQL

Открываем страницу загрузки дистрибутива: http://dev.mysql.com/downloads/installer/5.6.html и скачиваем Windows (x86, 32-bit), MSI Installer 5.6.16 250.8M. После нажатия на кнопку Download вы увидите форму для регистрации, ее можно пропустить нажав на ссылку внизу (» No thanks, just start my download!).

Запускаем установщик, после небольшой загрузки видим следующее окно:

Нажимаем Install MySQL Products, появляется следующее окно, в котором мы принимаем лицензионное соглашение (ставим галочку) и жмем Next >

Следующее окно нам предлагает проверить, есть ли более новая версия MySQL, ставим галочку Skip... (пропустить) и нажимаем Next >

В следующем окне нам предлагают выбрать тип установки, выбираем Custom и жмем Next >:

В следующем окне нам предоставляется возможность выбратьнеобходимые компоненты: убираем галочку с MySQL Connectors, в Application убираем галочку с MySQL Workbench CE 6.0.8 и MySQL Notifier 1.1.5, в MySQL Server 5.6.16 убираем галочки с Development Components и Client C API library (shared) и жмем Next >

Следующее окно нам сообщает что именно будет установлено, просто нажимаем Execute

После успешной установки жмем Next >

Вследующем окно нам сообщается о том, что далее мы немного настроим наш сервер, жмем Next >

В первом окне настрокйки, устанавливаем галочку Show Advanced Options, остальное оставляем как есть и жмем Next >

В следующем окне нам предлагается установить пароль администратора (root). Этот пароль лучше не терять! Устанавливаем пароль и жмем Next >

В следующем окне стираем в поле ввода цифры 56, остальное оставляем как есть и жмем Next >

Жмем Next >

Жмем Next >

Осталось проверить успешно ли прошла установка. (win 8): Заходим в меню пуск → переходим к приложениям (стрелочка вниз) → находим MySQL5.6 Command Line Client (терминал для работы с MySQL в командной строке) → открываем его. Далее вводим пароль администратора (root). Если пароль правильный, вы попадете в командную строку (mysql>). Введите команду: show databases; (точка с запятой на конце обязательна). В результате вы должны увидеть список баз данных (как минимум две - information_schema и mysql). Это означает, что сервер работает правильно. Закрываем командную строку выполнив команду exit.

Добавьте в файл C:\Windows\System32\drivers\etc\hosts строчку: 127.0.0.1 localhost. В этом же файле удалите или закомментируйте (поставить знак # в начале строки) строку::1 localhost (если она изначально закомментирована, то не надо ничего с ней делать).

Установка и базовая настройка phpMyAdmin

Открываем страницу загрузки http://www.phpmyadmin.net/home_page/downloads.php и выбираем для скачивания архив оканчивающийся на *all-languages.7z или *all-languages.zip (на момент написания статьи последняя версия была phpMyAdmin 4.1.9). Создаем папку phpmyadmin в C:\Apache24\htdocs и извлекаем туда файлы скаченного архива.

Проверим как оно работает. Открываем браузер и переходим по адресу http://localhost/phpmyadmin/ . Должно открыться такое окно:

Теперь нам необходимо создать конфигурационный файл для MySQL. Заходим в папку phpmyadmin и создаем там папку config. Открываем в браузере следующий адрес: http://localhost/phpmyadmin/setup/

Теперь, чтобы настроить параметры подключения к MySQL, нажимаем на кнопку «Новый сервер», нам открывается новое окно, в графе «Хост сервера» localhost необходимо заменить на 127.0.0.1:

Сохраняем настройки (жмем Apply) и нас автоматически вернут на предыдущую страницу. Выбираем язык по умолчанию - Русский, сервер по умолчанию - 127.0.0.1, конец строки - Windows. Внизу нажимаем Сохранить и затем Скачать.

Полученный файл (config.inc.php) сохраняем в корень установки phpMyAdmin (C:\Apache24\htdocs\phpmyadmin). Закрываем страницу, она нам больше не понадобится.

На этом все. Возвращаемся на страницу http://localhost/phpmyadmin/. Теперь можно авторизоваться в системе под пользователем root (пароль вводите тот, который указывали при настройке MySQL для пользователя root). Тестируем подключение к MySQL. Если все прошло успешно (вы смогли войти в phpMyAdmin), папку config из папки phpmyadmin удаляем.


Прямая ссылка: php-5.3.10-Win32-VC9-x86.zip
Заодно скачайте сразу и документацию на русском языке в формате.chm, она вам понадобится при изучении и работе: php_enhanced_ru.chm

Распакуйте архив в желаемый каталог (изначально предлагается "C:\php"). Откройте конфигурационный файл содержащий рекомендуемые настройки - "php.ini-development" (находящийся в корне дистрибутива), переименуйте его в php.ini и произведите следующие изменения.

Редакция php.ini:

  1. Найдите строку:
    post_max_size = 8M
    Увеличьте до 16 Мбайт максимальный размер данных принимаемых методом POST, изменив ее на:
    post_max_size = 16M
  2. Найдите строку:
    ;include_path = ".;c:\php\includes"
    Раскомментируйте ее, убрав перед строкой символ точки с запятой.
    (Внимание исключение! Обратные косые черты при указании пути):
    include_path = ".;c:\php\includes"
    Создайте пустой каталог "C:\php\includes", для хранения подключаемых классов.
  3. Найдите строку:
    extension_dir = "./"
    Установите значением данной директивы путь к папке с расширениями:
    extension_dir = "C:/php/ext"
  4. Найдите строку:
    ;upload_tmp_dir =
    Раскомментируйте ее и укажите в значении следующий путь:
    upload_tmp_dir = "C:/php/upload"
    Создайте пустую папку "C:\php\upload", для хранения временных файлов загружаемых через HTTP.
  5. Найдите строку:
    upload_max_filesize = 2M
    Увеличьте максимально допустимый размер загружаемых файлов до 16 Мбайт:
    upload_max_filesize = 16M
  6. Подключите, расскомментировав, данные библиотеки расширений:
    extension=php_bz2.dll
    extension=php_curl.dll
    extension=php_gd2.dll
    extension=php_mbstring.dll
    extension=php_mysql.dll
    extension=php_mysqli.dll
  7. Найдите строку:
    ;date.timezone =
    Раскомментируйте и установите значением часовой пояс вашего местоположения (список часовых поясов можно найти в документации):
    date.timezone = "Europe/Moscow"
  8. Найдите строку:
    ;session.save_path = "/tmp"
    Раскомментируйте и установите значением данной директивы такой путь:
    session.save_path = "C:/php/tmp"
    Создайте пустую папку "C:\php\tmp" для хранения временных файлов сессий.
Сохраните изменения и закройте файл php.ini.

Далее необходимо добавить каталог с установленным PHP интерпретатором в PATH операционной системы. Для чего пройдите по пути "Start" ("Пуск") -> "Control Panel" ("Панель управления") -> "System" ("Система"), откройте вкладку "Advanced" ("Дополнительно"), нажмите кнопку "Environment Variables" ("Переменные среды"), в разделе "System Variables" ("Системные переменные") сделайте двойной щелчок на строке "Path", добавьте в поле "Variable Value" ("Значение переменной"), к тому что там уже существует, путь к каталогу с установленным PHP, например, "C:\php" (без кавычек). Обратите внимание на то что символ точки с запятой разделяет пути. Чтобы внесенные изменения вступили в силу, перезагрузите операционную систему.

Пример строки Path:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\php;C:\Program Files\MySQL\MySQL Server 5.5\bin

Установка и настройка PHP интерпретатора – завершена.

Описание подключаемых библиотек:

php_bz2.dll – С помощью данного расширения PHP сможет создавать и распаковывать архивы в формате bzip2.

php_curl.dll – Очень важная и нужная библиотека, позволяющая соединяться и работать с серверами, с помощью огромного количества интернет-протоколов.

php_gd2.dll – Ещё одна незаменимая библиотека, позволяющая работать с графикой. Вы думали на PHP можно только HTML странички генерировать? А вот и нет! С помощью PHP можно почти всё, в том числе и рисовать.

php_mbstring.dll – Библиотека содержит функции для работы с много-байтными кодировками, к которым относятся кодировки восточных языков (японский, китайский, корейский), Юникод (UTF-8) и другие.

php_mysql.dll – Имя библиотеки говорит само за себя - она необходима для работы с сервером MySQL.

php_mysqli.dll – Данная библиотека является расширением предыдущей и содержит дополнительные функции PHP для работы с сервером MySQL версии 4.1.3 и выше.

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

«